一、概述

  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重启后,会自己去寻找持久化的数据

相关文章:

  • 2021-11-07
  • 2022-12-23
  • 2021-08-20
  • 2022-02-03
  • 2021-11-28
  • 2022-12-23
  • 2021-12-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2021-11-25
  • 2021-08-01
  • 2022-02-17
  • 2021-12-06
相关资源
相似解决方案