在專案中使用rabbitmq 傳送訊息和接收訊息,如果專案在一台機器上部署則使用direct方式即可,但是如果把專案部署到n臺機器上,傳送一條訊息,則n臺機器都能同時接收訊息,則需要使用fanout方式來實現,而且需要建立n個佇列進行接收訊息.這樣就實現了一條訊息被多個消費者同時消費。
首先,配置fanoutexchange
為乙個bean
@bean
fanoutexchange testfanoutexchange()
其次,定義乙個佇列:anonymousqueue
這個類是代表乙個匿名的、不耐用的、獨佔的、自動刪除的佇列。使用這個類會隨機生成乙個佇列名,專案啟動則隨機生成,停止則自動刪除,是乙個短暫的佇列
@bean
queue queuetest()
最後,將佇列繫結到exchange上
@bean
binding bindingexchangetest(queue queuetest, fanoutexchange testfanoutexchange)
那麼如何監聽訊息佇列呢?
我們可以通過@rabbitlistener標籤進行監聽,通過佇列名進行識別
@rabbitlistener(queues = "#")
@rabbithandler
public void sendbizapiupdatetobackend(message message) catch (ioexception e) ", message, e);
}......
//todo
}
如何在 C 中使用 RabbitMQ
rabbitmq 是乙個非常流行的,開源的,使用erlang語言編寫的框架,通常在電信級平台中作為訊息中介軟體使用,rabbitmq實現了高階的amqp協議用於實現程序間,應用程式間,伺服器之間的訊息互動,而且它還有乙個非常?的特性,你可以使用自定義外掛程式來擴充套件rabbitmq的功能,而且它還...
如何使用RabbitMQ實現事件匯流排
首先,事件源與事件處理的對映字典。private static dictionary eventhandlers new dictionary 然後,初始化rabbitmq,建立到伺服器的連線,建立乙個通道等 public rabbitmqeventbus iconnectionfactory co...
rabbitmq簡單使用
安裝rabbitmq,進入sbin執行rabbitmq service start 傳送者 package com.zhy.rabbit.01 import com.rabbitmq.client.channel import com.rabbitmq.client.connection impor...