簡體   English   中英

我怎么知道我的消息是用spring amqp成功發送的?

[英]How do I know that my message was sent successfully with spring amqp?

我使用RabbitTemplate類使用spring amqp寫入RabbitMQ隊列。 我使用convertAndSend方法將消息發送到隊列。 這在正常情況下運行良好,但如果隊列不存在,它似乎無聲地失敗。 不會拋出異常,也不會將錯誤/調試消息記錄到記錄器中。

確保郵件傳遞的最佳方式是什么?

以下是代碼當前正在執行的操作的示例。

RabbitTemplate template = new RabbitTemplate(factory);
template.setQueue(queueName);
template.setRoutingKey(queueName);
template.convertAndSend(message);

RabbitMQ客戶端向沒有綁定隊列的代理發送消息以接受消息並不是錯誤。 RabbitMQ將默默地放棄它,客戶端將更加明智。 如果您沒有對您的消息感興趣的隊列,則代理還沒有其他許多可用選項。

也就是說,如果消息最終會通過設置強制標志而以靜默方式丟棄,則可以讓RabbitMQ抱怨。 我不知道Spring AMQP接口是否支持它,但它確實可以在RabbitMQ Java客戶端庫中使用。

您可以使用mandatory ,也可以啟用發布者返回(對於無法傳遞的消息)。

暫無
暫無

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

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