java - 处理来自rabbitmq错误队列的消息

标签 java spring-boot rabbitmq spring-rabbit rabbitmq-exchange

我已经设置了 Spring Boot RabbitMQ 集成,集成工作正常。我正在将消息发送到队列并从队列中消费。如果发生任何错误,消息会重试一定次数,然后将消息放置在错误队列中,我想要一些关于实现功能的指南,在该功能中我可以向某人发送电子邮件以通知他们消息已失败并已被路由到错误队列,目前一旦消息进入错误队列,它就驻留在那里并且不采取任何操作。

最佳答案

您需要显示您的配置(编辑问题,不要尝试将其放入评论中)。

您需要向重试拦截器添加一个MessageRecoverer

当重试次数耗尽时,恢复器就会被调用,这样你就可以在那里做任何你喜欢的事情。如果恢复程序随后抛出异常,消息将正常发送到 DLQ。

或者,发送电子邮件后,您可以调用 DeadLetterPublishingRecoverer,消息将进入一个队列,其中 header 中包含增强信息(错误消息、堆栈跟踪等)。

关于java - 处理来自rabbitmq错误队列的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57521998/

相关文章:

Java ExecutorService 和 ThreadPoolExecutor

java - 在 mysql 中选择特定表的操作时触发电子邮件或信息

java - 使用spring amqp模板清除rabbitmq队列?

javascript - 回调/复用 channel 的复用参数

java - 如何将观察者模式与 jms 接收器一起应用

java - fantom 生成的字节码是否与 java 等效字节码一样高效?

java - J2ObjC - 安卓库

java - 我如何通知我的 SpringBoot 应用程序类副本?

spring - 如何在Spring Boot中设置enableLoggingRequestDetails ='true'

java - 如何在 java spring 中读取具有相同前缀的多个属性?