Spring Integration 6.2 Milestone 1 现已发布

发布 | Artem Bilan | 2023 年 7 月 19 日 | ...

亲爱的 Spring 社区:

谨代表 Spring Integration 团队,我很高兴地宣布 6.2.0-M1 版本现已在 Spring Milestone 仓库中提供。

此外,错误修复版本 6.1.2 也已发布至 Maven Central。

Spring Integration 6.2 版本基于 Spring Framework 6.1.0-M2(可升级至最新的 6.1.0-M3),并包含了许多内部改进和重构,以支持 JVM 虚拟线程和项目 CRaC。

这个新版本的一些亮点包括:

  • 升级至最新的依赖项,其中一些是发布候选版本和里程碑版本

  • 我们现在使用 org.eclipse.angus:jakarta.mail 作为 Java Mail API 的实现,它用 org.eclipse.angus.mail.imap 替换了 com.sun.mail.imap 包。因此,这在某种程度上是向后不兼容的更改。

  • 引入了 spring-integration-debezium 模块,其中包含 DebeziumMessageProducer 实现及相关基础设施,包括 Java DSL(感谢 Christian Tzolov

  • 轮询器现在可以使用 ISO 8601 持续时间格式来配置延迟。

  • 逻辑基于线程执行器的组件现在会公开一个适当的 AsyncTaskExecutor 选项,以便最终用户可以选择 Spring Framework 中的新 VirtualThreadTaskExecutor

Java DSL(以及因此的 Kotlin & Groovy)现在提供单个 Consumer 参数配置方法,以改善最终用户体验。类似的代码

.transform((Integer p) -> p * 2, c -> c.advice(expressionAdvice()))

现在被替换为

.transformWith(t -> t
       .transformer((Integer p) -> p * 2)
       .advice(expressionAdvice()))

这可能看起来有点冗长,但在 IDE 中比硬性选择带有多个参数的重载 transform() 方法更容易阅读和自动完成。使用此更改后,Groovy DSL 看起来更漂亮了。

splitWith {
    expectedType Object
    id 'splitterEndpoint'
    function { it }
}

并非所有 DSL 操作符都已针对这种新风格进行修复:请继续关注后续的里程碑版本。

请参阅文档中的 新增功能,并不要忘记 迁移指南

祝好, 
Artem

项目主页 | GitHub 问题 | 贡献 | 帮助

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有