我有一个带有消息的兔子队列。我也有一个失败的倾听者。队列配置了死信交换(以及死信队列)。我想要的是在死信队列中看到消息中的异常信息。
目前它是如何运作的:
但我想要的是看到" java.lang.RuntimeException:损坏的消息"在UI上的某个地方。我认为它应该是一个自定义标题?
例如,是否可以将一般的try-catch放到我的监听器中并使用异常信息增强标头?
答案 0 :(得分:5)
没有; RabbitMQ(实际上是AMQP规范)没有为消费者提供任何机制来增强被拒绝的消息和附加信息。该协议仅支持确认或拒绝消息。
Spring AMQP与重试拦截器一起提供了一种机制,可以将消息重新发布到不同的队列(可以与DLQ相同),并在头文件中添加其他信息(异常堆栈跟踪等)。
请参阅RepublishMessageRecoverer
in the section about error handling with asynchronous consumers。