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

前端之家收集整理的这篇文章主要介绍了java – 我怎么知道我的消息是用spring amqp成功发送的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用RabbitTemplate类使用 spring amqp写入RabbitMQ队列.我使用convertAndSend方法将消息发送到队列.这在正常情况下运行良好,但如果队列不存在,它似乎无声地失败.不会抛出异常,也不会将错误/调试消息记录到记录器中.

确保邮件发送的最佳方式是什么?

以下是代码当前正在执行的操作的示例.

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

解决方法

RabbitMQ客户端将消息发送到没有绑定队列以接受消息的代理并不是错误. RabbitMQ将默默地放弃它,客户端将不再明智.如果你没有对你的消息感兴趣的队列,那么经纪人还没有其他许多选择.

也就是说,如果通过设置mandatory标志消息将以静默方式丢弃,您可以让RabbitMQ抱怨.我不知道Spring AMQP接口是否支持它,但它确实可以在RabbitMQ Java客户端库中使用.

猜你在找的Java相关文章