我已经设置了 Spring Boot RabbitMQ 集成,集成工作正常。我正在将消息发送到队列并从队列中消费。如果发生任何错误,消息会重试一定次数,然后将消息放置在错误队列中,我想要一些关于实现功能的指南,在该功能中我可以向某人发送电子邮件以通知他们消息已失败并已被路由到错误队列,目前一旦消息进入错误队列,它就驻留在那里并且不采取任何操作。
最佳答案
您需要显示您的配置(编辑问题,不要尝试将其放入评论中)。
您需要向重试拦截器添加一个MessageRecoverer
。
当重试次数耗尽时,恢复器就会被调用,这样你就可以在那里做任何你喜欢的事情。如果恢复程序随后抛出异常,消息将正常发送到 DLQ。
或者,发送电子邮件后,您可以调用 DeadLetterPublishingRecoverer
,消息将进入一个队列,其中 header 中包含增强信息(错误消息、堆栈跟踪等)。
关于java - 处理来自rabbitmq错误队列的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57521998/