rabbitmq消息发送失败、
一、概述
rabbitmq消息发送失败,主要有三种
1、producter连接mq失败,消息没有发送到mq
2、producter连接mq成功,但是发送到exchange失败
3、消息发送到exchange成功,但是路由到queue失败
二、发送失败处理
producter连接mq失败,消息没有发送到mq
可以使用trycatch捕获异常,将消息保存到db中后续进行重发处理
producter连接mq成功,但是发送到exchange失败
通过实现ConfirmCallback接口,对发送结果进行处理,根据ack来判断是否成功
同时我们可以扩写correlationData类,因为correlationData只有一个ID属性,没有关于消息的水性,我们可以扩展这个类,在发送消息时,把想要的数据写入就可以了
消息发送到exchange成功但是路由到queue失败
可以通过实现ReturnCallback接口,对回退消息进行重发处理。
消息持久化还是创建队列的时候设置一下就行了,主要是为了防止rabbitmq宕机,rabbitmq重启后,会自己去寻找持久化的数据