领先一步
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 现在可以工作在 pub-sub 模式下,以便在可能的情况下缓解忙等问题,并且在 pub-sub 通知时可以立即获取锁。
另外,请参阅 迁移指南,了解框架及其模块中的重大更改。
在我们十月发布候选版本之前,请尝试一下,欢迎提供任何反馈!
今年十二月在 SpringOne 上与您见面,讨论这些以及其他 Spring Integration 功能!
祝好,
Artem
项目主页 | GitHub Issues | 贡献指南 | 帮助 | 聊天