抢占先机
VMware 提供培训和认证,以加速您的进步。
了解更多亲爱的 Spring 社区,
我想与大家分享 Spring Integration 6.0 新一代产品的最新 Milestone 5 版本已发布。
可以从 Spring Milestone 仓库 获取
dependencyManagement {
imports {
mavenBom 'org.springframework.integration:spring-integration-bom:6.0.0-M5'
}
}
此外,Spring Integration 5.5.15 版本也已发布,其中修复了一些关键错误以及上游依赖项弃用问题。 建议您升级,如果您错过了之前的一些中间版本,或者只是从即将发布的 Spring Boot 2.6.12 或 2.7.4 中传递性地拉取它!
随着整个 Spring 产品组合迁移到 Java 17 和 Jakarta EE,这是一个巨大的内部框架重构,以支持新的 Java 语言级别和 jakarta 命名空间。 此外,这还包括升级到最新的 Jakarta EE 兼容的依赖项,或者具有我们之前无法迁移到的一些重大更改的依赖项。
整个 Spring Integration 6.0 的显着变化
Spring AOT 支持 - 框架内部进行了大量重构,以满足原生镜像的期望,并公开了一些反射、代理和序列化提示。
GraphQL 支持 - 添加了一个新的 spring-integration-graphql 模块。 它完全基于产品组合中的新 Spring for GraphQL 项目,并且它的 GraphQlMessageHandler 是出站网关的反应式实现,可以执行所有 query、mutation & subscription GraphQL 操作。
MQTT 模块现在提供了一个 ClientManager 抽象,允许为不同的通道适配器共享同一个 MQTT 客户端。
spring-integration-smb 和 spring-integration-hazelcast 扩展已迁移到核心项目,以提高社区可见性。 我们计划迁移更多扩展,以实现更好的开发者体验和维护目标。
引入了 PostgresSubscribableChannel 以依赖于原生 PostgreSQL 推送通知功能。 这样,与 JdbcChannelMessageStore 的交互不是可轮询的,而是一个普通的订阅,当 PostgreSQL 发出通知时,我们从数据库中拉取消息。
Micrometer 可观测性 - 添加了 ObservationRegistry 仪表基础设施。 当注入 ObservationRegistry 时,AbstractMessageHandler 现在发出 CONSUMER 观测结果,而不仅仅是 Timer。 ObservationPropagationChannelInterceptor 必须用于异步和分布式消息通道,我们希望将 Observation 从生产者传播到消费者以继续跟踪。
现在已弃用 IntegrationFlows 工厂,取而代之的是直接迁移到 IntegrationFlow 接口的相同功能。
RMI 模块已完全删除,取而代之的是其他更安全的网络协议。
Apache Camel 支持 - 添加了一个新的 spring-integration-camel 模块。 它的 CamelMessageHandler 实现旨在简化从 Spring Integration 流调用 Apache Camel 路由的操作。 它基于 Camel 的 ProducerTemplate,可以执行 InOnly、InOut 和 InOptionalOut 交换,将 Spring Integration 消息传递到/从 Apache Camel 路由。
所有消息传递注解 (@ServiceActivator、@Transformer、 @Splitter 等) 现在都是 @Repeatable,因此您可以在不同的集成流中使用相同的 POJO 方法。
IntegrationFlow 的 log() 操作符现在是非终结符 - 它在流末尾的歧义已得到解决,如果不存在 log() 操作符,则流的行为保持不变。
RedisLockRegistry 现在可以在发布-订阅模式下工作,以减轻只要有可能就立即在发布-订阅通知上获得锁定的繁忙自旋问题。
另请参阅 迁移指南,了解框架及其模块中的重大更改。
请在 10 月份发布候选版本之前试用一下,欢迎提出任何反馈!
今年 12 月在 SpringOne 上与您见面,讨论这些和其他 Spring Integration 功能!
祝你一切顺利,
Artem