抢占先机
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