领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多亲爱的 Spring 社区:
我想与大家分享新一代 Spring Integration 6.0
的最新里程碑版本 5
现已可用。
您可以从 Spring 里程碑仓库 获取它。
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
,后者是出站网关的响应式实现,可以执行所有查询
、变异
和订阅
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