簡體   English   中英

訂閱 RMQ 消息隊列中的特定消息

[英]Subscribe specific message in RMQ message queue

我有一個 RM 隊列test-queue 在那里,我需要為 3 個單獨的服務中的 3 個單獨的進程處理 3 個單獨的消息( message-1, message-2, message-3 )。

我使用下面的@RabbitListener來訪問消息

@RabbitListener(queues = "test-queue")
        public void getMessage1(Message message) {
     System.out.println(message);
    }

但我需要訪問特定的消息,例如:僅在此 function 中的message-1

有什么注意的嗎?

這是 AMQP 協議的錯誤設計。 您需要為這些消息考慮 3 個不同的隊列,並從具有正確路由的單個交換中為它們正確綁定。 然后,您可以輕松地從這些隊列中獲得 3 個消費者。

我的觀點是隊列實體是消費者的責任。 生產者只是將消息轉儲到交換中。 因此,您只需從您的消費者應用程序中指定您希望如何獲取生成的消息。

Out of subject you can investigate a Spring Integration router pattern implementation if you really can't change your RabbitMQ structure: https://docs.spring.io/spring-integration/docs/current/reference/html/message-routing.html #messaging-routing-章節

暫無
暫無

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

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