我如何知道我的消息是使用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并且还可以启用发布商退货(对于无法投递的消息)。

链接地址: http://www.djcxy.com/p/10233.html

上一篇: How do I know that my message was sent successfully with spring amqp?

下一篇: Sending an email with a PDF Files attachment using PHP