我正在尝试使用 Spring AMQP 库验证发送的消息是否已成功放入队列中。当我将消息发送到其中配置不正确的绑定的队列时,我看到这些方法似乎没有出错,是否有任何内置方式或其他合理的方式来检查这个?
例如我创建了一个队列,不小心创建了一个带有错误路由键的绑定, 我创建一个发布者并使用正确的(预期的)路由密钥发布, > 在这个阶段我怎么在这里看到消息发布失败
我已经尝试在 Spring AMQP 中寻找任何类型的错误 send 方法 错误以在 try-catch 中识别它,但是当键不匹配并且没有现有队列时它似乎没有错误匹配键。我已经查看了其他方法,但我没有看到一个明显的替代方法可以完成我正在寻找的东西。
我唯一的其他想法是发布一条消息,然后在启动时使用它来验证密钥在启动时是否正确,但我不是那个解决方案的忠实粉丝,想知道是否有一种优雅的方式或标准的方式模式来完成这个。
查看发布者确认和退货:
https://docs.spring.io/spring-amqp/reference/html/#cf-pub-conf-ret
https://blog.rabbitmq.com/posts/2011/02/introducing-publisher-confirms
另见
RabbitTemplate.setReturnsCallback(ReturnsCallback returnCallback)
:
https://docs.spring.io/spring-amqp/reference/html/#publisher-returns