4.3.9
一、 RabbitMQ SDK支持连接故障自动恢复能力
-
新增如下4个属性配置:
#设置TCP连接超时时间,默认:60000ms spring.emis.rabbitmq.connection-timeout=60000 #启用或禁用连接自动恢复,默认:true spring.emis.rabbitmq.automatic-recovery=true #设置连接恢复时间间隔,默认:5000ms spring.emis.rabbitmq.network-recovery-interval=5000 #启用或禁用拓扑恢复,默认:true【拓扑恢复功能可以帮助消费者重新声明之前定义的队列、交换机和绑定等拓扑结构】 spring.emis.rabbitmq.topology-recovery=true
-
创建CachingConnectionFactory对象时设置(1)的4个属性设置;
-
新增DefaultMqConnectionListener连接监听器类,对onCreate、onClose、onShutDown、onFailed四个方法监听并记录三方日志,方便在日志平台观察rabbitmq的故障恢复的全过程;
-
新增DefaultMqExceptionHandler RabbitMQ全局异常处理,将希望记录到日志文件的日志记录到三方日志,方便日志平台查看;
-
ContextWrapper优化为只对非servlet上下文场景下使用;
-
RabbitMQ SDK重构,默认支持springboot官方支持的使用方法;支持直接使用注解模式发送消息,支持默认监听器不用配置连接器工厂类;
-
新增RabbitMqRetryTemplateCustomizer作为RetryTemplate自定义配置的一部分;
-
新增PublisherRetryListener发布放重试监听器;
-
springboot升级到3.1.3版本,并对整体做架构升级,jdk升级到17;
-
logback sdk代码优化调整;
-
logger sdk新增withJansi属性配置,默认不开启jansi;
-
修复RabbitMQ SDK中RabbitTemplate配置bug;
-
动态多数据源SDK代码优化;
Dependency Upgrades
- springboot升级到3.1.4版本;
- druid升级到1.2.20版本;
原生Java开源pom依赖引用
<!--Java通用工具组件SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-common</artifactId>
<version>4.3.9</version>
</dependency>
<!--Java通用日志组件SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-logger</artifactId>
<version>4.3.9</version>
</dependency>
<!--Java图形验证码SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-captcha</artifactId>
<version>4.3.9</version>
</dependency>
<!--Java简繁体转换、多语言支持SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-language</artifactId>
<version>4.3.9</version>
</dependency>
<!--Java实体类脱敏SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-sensitive</artifactId>
<version>4.3.9</version>
</dependency>
<!--Java基于jackson的序列化反序列化SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-json</artifactId>
<version>4.3.9</version>
</dependency>
<!--Java基于JWT获取签名解析签名SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-jwt</artifactId>
<version>4.3.9</version>
</dependency>
<!--Java基于日期转换比较计算SDK-->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>oceansky-date</artifactId>
<version>4.3.9</version>
</dependency> 基于springboot的开源SDKpom依赖引用
<!-- Java基于logback的日志组件SDK -->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>emily-spring-boot-logger</artifactId>
<version>4.3.9</version>
</dependency>
<!-- 基于druid的数据库多数据源切换SDK -->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>emily-spring-boot-datasource</artifactId>
<version>4.3.9</version>
</dependency>
<!-- 基于springboot的请求AOP拦截、返回值包装、全局异常处理SDK -->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>emily-spring-boot-starter</artifactId>
<version>4.3.9</version>
</dependency>
<!-- 基于springboot的多集群多配置SDK -->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>emily-spring-boot-redis</artifactId>
<version>4.3.9</version>
</dependency>
<!-- 基于springboot的RabbitMQ支持多虚拟主机多集群SDK -->
<dependency>
<groupId>io.github.mingyang66</groupId>
<artifactId>emily-spring-boot-rabbitmq</artifactId>
<version>4.3.9</version>
</dependency>