rabbitmq4.0以下版本遇到断网重连异常

  • Post author:
  • Post category:其他


现象描述:一个客户端反应经常性不更新显示信息,分析是rabbitmq的消息没有及时consumer。登陆服务器控制台查看消息状态是ready。终端连接状态running。但就是不消费信息了。

分析:

怀疑网络中途有中断波动

1.代码里已经设置setAutomaticRecoveryEnabled,所以

Connection

连接状态自动恢复了

2.但是consumer却没有设置自动恢复。

通过查看资料:

在客户端开启

Connection



Topology(Queue、Exchange、Binding、Consumer)

自动恢复的方法如下:


  • factory.setAutomaticRecoveryEnabled(boolean)

    :用于开启或关闭Connection自动恢复。

  • factory.setNetworkRecoveryInterval(long)

    :用于设置重试时间间隔。如果Connection自动恢复异常,设置了Connection自动恢复的客户端将在一段固定时间间隔(默认为5秒)后重试。

  • factory.setTopologyRecoveryEnabled(boolean)

    :用于开启Topology自动恢复。Topology包括Queue、Exchange、Binding、Consumer。

处置方法:

设置

setTopologyRecoveryEnabled。主要项目用的MQ版本是3.8.9,

4.0.0及以上版本Java客户端默认开启Connection和Topology自动恢复,您无需在代码中设置。



版权声明:本文为liuxinzhi1982原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。