[英]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.