首页 > 其他分享 >springboot连接rabbitmq网络异常时,不能自动重连的问题

springboot连接rabbitmq网络异常时,不能自动重连的问题

时间:2023-10-18 10:44:34浏览次数:40  
标签:java springboot rabbitmq client 重连 recovery

在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进程号还在,因此处于假死状态。

具体原因还未知

 

标签:java,springboot,rabbitmq,client,重连,recovery
From: https://www.cnblogs.com/zhenjingcool/p/17771511.html

相关文章

  • Springboot实现模糊查询
    合理怀疑我之前的脑子长歪了,就跟个小丑一样,到处蹦跶,也没解决,现在好像走了大运,就直接出结果了具体实现我跟之前的sql语句进行对比,发现在我印象里面我使用的是这种结构:select*fromuserwhereidlikecaoncat('%',#{id},'%');但是记忆好像出现了问题,它实际上是这样的:select......
  • springboot访问图片本地路径并映射成url
    这几天很头疼,vue不读取图片,src已经动态绑定了,还是访问不到vue本地下图片,于是我就把图片地址改为springboot本地就成功了。 下面是参考博客;springboot访问图片本地路径并映射成url_springboot配置图片访问路径-CSDN博客最后样式 ......
  • SpringBoot 操作 达梦数据库
    SpringBoot操作达梦数据库 一、前提条件本篇博客以访问本地达梦数据库(DM8)为基础进行演示。(前提:本地已经安装了DM8数据库!)关于Windows安装达梦数据库,请参考博客:Windows安装达梦数据库关于Docker安装达梦数据库,请参考博客:Docker安装达梦数据库关于JDBC方式操作......
  • SpringBoot2,Druid数据源常用配置
    spring:datasource:druid:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/mybatis?serverTimeZone=UTCusername:rootpassword:rootmax-wait:2000#获取连接的最大等待时间initial-size:5......
  • SpringBoot启动流程源码分析(2)
    1、启动引导类大部分时候,SpringBoot应用主要通过在引导类调用SpringApplication的静态run方法启动,同时将引导类注册为配置源。比如下面是一个SpringMVC的Web应用,引导类是WebMVCBootstrap,和命令行参数args作为SpringApplication静态run方法的参数,用于构建SpringApplication对象和......
  • C# M2Mqtt组件连接失败后占用大量cpu不释放以及重复用一个client进行重连会出现假连接
    M2Mqtt是C#的一个mqtt客户端库,这个库很好用,但是它有严重的Bug当我们调用Connect建立连接时,如果身份认证失败,它会返回状态码3,即"连接已拒绝,不合格的客户端标识符",但是其内部的异步线程并不会终止,依然会占用大量的cpu资源,即使Disconnect且把client置为null也没用,除非彻底关闭程序......
  • SpringBoot 03 Shiro
    shiro是apache的一个开源框架,是一个权限管理的框架,实现认证、授权、加密、会话管理。shiro优势举例易用:相当于其他安全框架,shiro比较简单易用。使用非常广泛,资料好找。灵活:可以工作在很多环境。web支持:对web的支持好,如thymeleaf标签支持。支持:应用广泛,是Apache软件基......
  • SpringBoot 02 shiro框架查询用户权限与角色
      实体类 @Data@AllArgsConstructor@NoArgsConstructor@TableName("t_user")publicclassRUser{@TableId(value="id",type=IdType.AUTO)privateIntegerusrId;privateStringusrName;privateStringusrAccount;pri......
  • SpringBoot应用jar包启动原理详解
    1、maven打包SpringBoot项目的pom.xml文件中默认使用spring-boot-maven-plugin插件进行打包:<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId>&l......
  • springboot启动流程源码解析(带流程图)
    大致流程如下:初始化SpringApplication,从META-INF下的spring.factories读取ApplicationListener/ApplicationContextInitializer运行SpringApplication的run方法读取项目中环境变量、jvm配置信息、配置文件信息等创建Spring容器对象(ApplicationContext)利用ApplicationCon......