Rus*_*lan 4 java rabbitmq spring-rabbit spring-amqp rabbitmq-exchange
我有一个兔子队列,上面有要消费的消息。我也有一个失败的听众。队列配置有死信交换(以及死信队列)。我想要的是在死信队列中的消息中看到异常信息。
当前的工作方式如下:
但是我想要的是在UI上的某个地方看到“ java.lang.RuntimeException:损坏的消息”。我认为它应该是一个自定义标头?
例如,是否可以将常规try-catch放入我的侦听器,并使用异常信息增强标头?
没有; RabbitMQ(实际上是AMQP规范)没有为消费者提供任何机制来使用其他信息来增强拒绝的消息。该协议仅支持确认或拒绝消息。
Spring AMQP与重试拦截器一起,提供了一种机制,可以将消息重新发布到不同的队列(可以与DLQ相同),并在标头中提供附加信息(异常堆栈跟踪等)。
请参阅RepublishMessageRecoverer本节中有关使用异步使用者的错误处理的内容。