springboot连接rabbitmq网络异常时,不能自动重连的问题
在rabbitmq官网的java api处:https://www.rabbitmq.com/api-guide.html#recovery介绍了java连接rabbitmq异常恢复的问题。其中提及了如下内容
- As of version 4.0.0 of the Java client, automatic recovery is enabled by default (and thus topology recovery as well).
也就是说当出现网络异常时,amqp-client-4.0.0.jar开始会自动重连。
我项目中使用的是amqp-client-5.14.3.jar。
但是问题来了。我的项目平时运行正常,但是时不时的会出现无法重连的情况。见下图
大部分时间是这样的
但是时不时的是这样的
也就是说大部分时间,网络状况差的时候,java服务重连rabbitmq没问题,但是偶尔会出现问题,表现上就是java服务假死了。
猜测是网络异常使rabbitmq客户端抛出MissedHeartbeatException,触发了springboot的某个机制使java服务崩溃。但是java进程号还在,因此处于假死状态。
具体原因还未知
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?