内容提要
Spring Integration 6.4.0-M1发布,修复bug和升级依赖。新特性包括分布式LockRegistry实现在DB中丢失锁时抛出ConcurrentModificationException异常,JDBC消息存储组件中的LobHandler API被弃用,ZeroMqMessageHandler可以绑定端口,MQTT v5通道适配器的订阅标识符改进,等等。迁移指南和反馈渠道也提供。
延伸解读
分布式锁行为变更的影响
在6.4.0-M1中,分布式LockRegistry实现在解锁时若发现数据库中的锁所有权已丢失,会抛出ConcurrentModificationException。这一变更意味着应用需要处理这种异常,可能影响现有代码的健壮性。开发者应检查解锁逻辑,确保在锁丢失时能妥善处理,避免因异常导致流程中断。
JDBC消息存储的API弃用
由于Spring Framework 6.2弃用了LobHandler API,JDBC消息存储组件中的相关API也被弃用,建议改用JDBC驱动内部的字节数组处理。这简化了大数据字段的处理,但迁移时需注意兼容性,确保驱动支持所需功能。
其他组件改进与迁移注意
ZeroMqMessageHandler现在支持绑定端口,MQTT v5通道适配器的订阅标识符得到改进,Reactor上下文可传播到回复的CompletableFuture,SftpSession会关闭ClientSession。这些改进提升了功能性和资源管理,但迁移指南提示存在破坏性变更,升级前应仔细阅读。
Q&A
Spring Integration 6.4.0-M1有哪些新特性?
新特性包括分布式LockRegistry在解锁时抛出ConcurrentModificationException异常、JDBC消息存储组件中LobHandler API被弃用、ZeroMqMessageHandler可以绑定端口,以及MQTT v5通道适配器的订阅标识符改进等。
Spring Integration 6.4.0-M1的主要修复内容是什么?
该版本包含常规的bug修复和依赖升级,具体修复内容未详细列出。
如何处理JDBC消息存储组件中的LobHandler API弃用问题?
建议使用JDBC驱动程序的内部字节数组处理来替代已弃用的LobHandler API。
Spring Integration 6.4.0-M1的迁移指南包含哪些内容?
迁移指南包含此新版本中的一些重大更改,帮助用户顺利过渡到新版本。
Spring Integration 6.4.0-M1对反馈的态度是什么?
团队欢迎对6.4版本的反馈,以进一步改善框架和用户体验。
ZeroMqMessageHandler在新版本中有什么变化?
ZeroMqMessageHandler现在可以绑定端口,这是新版本中的一项改进。