簡體   English   中英

消息到達隊列后注冊偵聽器

[英]Registering Listener after arriving of Message to Queue

我有兩個微服務,它們使用Rabbit MQ進行通信並作為單獨的WAR部署。 如果service1將名為msgS1的消息傳遞到隊列,但是此時Service2處於關閉狀態(我的隊列為Direct,並且我使用路由密鑰進行消息交換),那么一旦我啟動Service 2,它將能夠從隊列中接收消息msg1 ? 目前,我收到Null。 正確的方法是什么?

應該,因為所有消息都存儲在RabbitMQ服務器隊列中。 然后,您的第二個應用程序可以從中獲取它們。 要接收消息,您應該在Spring Boot應用程序中正確配置隊列偵聽器。

如果可以提供您使用的偵聽器片段,那會更好。

不過,您可以在此處找到良好的示例。

另外,這是基於注釋的偵聽器的示例:

@EnableRabbit
@Component
public class RabbitMqListener {
    Logger logger = Logger.getLogger(RabbitMqListener.class);

    @RabbitListener(queues = "queue1")
    public void processQueue1(String message) {
        logger.info("Received from queue 1: " + message);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM