我如何检测RabbitMQ生产者在Java中使用Spring AMQP向适当的队列发送消息失败? &g



我正在尝试使用Spring AMQP库验证发送的消息是否成功地放置在队列中。我看到的方法似乎没有错误,当我发送消息到队列,其中有一个错误配置的绑定,是否有任何内置的方式,或其他合理的方式来检查这一点?

。我创建了一个队列,不小心创建了一个绑定,但路由键不正确,我创建一个发布者并使用正确的(预期的)路由密钥发布,比;在此阶段,我如何看到消息未能发布

?我已经尝试在Spring AMQP中查找发送方法错误的任何类型的错误,以便在try-catch中识别此错误,但是当键不匹配并且没有匹配键的现有队列时,它似乎不会出错。我已经浏览了其他方法,但我没有看到一个明显的替代方法可以完成我所寻找的。

我唯一的其他想法是发布一条消息,然后在启动时使用它来验证启动时的密钥是否正确,但我不是很喜欢这种解决方案,想知道是否有一种优雅的方式或标准模式来完成这一点。

参见Publisher confirm and Returns:

https://docs.spring.io/spring-amqp/reference/html/cf-pub-conf-ret

https://blog.rabbitmq.com/posts/2011/02/introducing-publisher-confirms

参见aRabbitTemplate.setReturnsCallback(ReturnsCallback returnCallback):

https://docs.spring.io/spring-amqp/reference/html/publisher-returns

最新更新