簡體   English   中英

如何在 java 中為 Rabbit MQ 創建同步消費者 API 以從隊列中獲取消息

[英]How to create Synchronous consumer API for Rabbit MQ in java to fetch message from the Queue

我想要一個同步 API 用於 java 中的 Rabbit MQ,例如 QueueingConsumer,以便我可以從 Rabbit MQ 獲取消息。 但是 QueueingConsumer 現在已被棄用。 誰能告訴我如何寫一個我自己的。

同步消費者的原因 - 我正在編寫 REST 服務,該服務將從隊列中獲取消息並將其作為響應返回。

、據我了解,您使用的是rabbitmq java 客戶端。 在這種情況下,您應該執行以下操作:

  1. 生成correlationId標識,回復屬性replyTo
  2. 創建/獲取目標隊列/交換(您的目標);
  3. 創建/獲取響應隊列(您的響應隊列);
  4. correlationIdreplyTo添加到您的消息中;
  5. 通過channel.basicPublish()將您的消息發送到隊列/交換(您的目的地);
  6. 通過channel.basicConsume()訂閱響應隊列;
  7. 您何時會通過channge.basicConsume()獲得響應消息,只需檢查傳入消息的correlationId ID。
  8. 如果correlationId匹配——返回收到的消息;

完整的代碼示例在這里

您也可以在此處找到您問題的全面答案。

如果您需要現成的解決方案,我認為您可以使用Spring AMQP庫或任何其他高級庫。 可以在此處找到庫列表。

暫無
暫無

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

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