如需使用最新稳定版本,请使用 Spring Integration 7.0.4spring-doc.cadn.net.cn

什么是新内容?

对于已经熟悉 Spring Integration 的读者,本章简要介绍了 6.4 版本的新特性。spring-doc.cadn.net.cn

如果您对早期版本中引入的更改和功能感兴趣,请参阅变更历史记录spring-doc.cadn.net.cn

Spring Integration 6.4 有哪些新功能?

如果您想了解更多详细信息,请参阅作为 6.4 开发过程一部分而解决的 Issue Tracker 工单。spring-doc.cadn.net.cn

通常,该项目已迁移至最新的依赖版本。spring-doc.cadn.net.cn

新组件

一个 BaseMessageBuilder 类已从 MessageBuilder 中提取,以简化自定义构建器实现,其中大部分逻辑应与 MessageBuilder 的实现相同。 有关更多信息,请参阅 MessageBuilderspring-doc.cadn.net.cn

新的控制总线交互模型已在 ControlBusCommandRegistry 中实现。 建议使用新的 ControlBusFactoryBean 类替代已弃用的 ExpressionControlBusFactoryBean。 有关更多信息,请参阅 控制总线spring-doc.cadn.net.cn

此外,ControlBusController(与 @EnableControlBusController 一起)被引入用于由上述 ControlBusCommandRegistry 管理暴露的命令。 有关更多信息,请参见 HTTP 支持spring-doc.cadn.net.cn

SpEL 评估基础设施现在支持对 IndexAccessor 的配置。 此外,还提供了开箱即用的 JsonIndexAccessor。 有关更多信息,请参阅 SpEL 支持spring-doc.cadn.net.cn

常规变更

Java DSL SourcePollingChannelAdapterSpec 现在可以使用自定义的 TaskScheduler 进行配置spring-doc.cadn.net.cn

远程文件适配器更改

The AbstractRemoteFileStreamingMessageSource 现在提供了一个便捷的 clearFetchedCache() API,用于从缓存中移除未处理的远程文件的引用。 这些引用保留在缓存中,因为轮询配置不允许在一个周期内处理所有获取的文件,并且在轮询周期之间目标 SessionFactory 可能会发生变化,例如通过 RotatingServerAdvicespring-doc.cadn.net.cn

JDBC 更改

The LobHandler(及其相应的 API)已在 Spring Framework 6.2 中被弃用,即将移除。 JdbcMessageStore(以及类似选项)上的相应选项也已被弃用。 序列化消息的字节数组处理已完全委托给 JDBC 驱动程序。spring-doc.cadn.net.cn

The LockRepository.delete() 方法返回移除分布式锁所有权的结果。 如果锁的所有权已过期,则 JdbcLockRegistry.JdbcLock.unlock() 方法会抛出 ConcurrentModificationException。 有关更多信息,请参阅 JDBC 支持spring-doc.cadn.net.cn

ZeroMQ 变更

出站组件 ZeroMqMessageHandler(及其相应的 API)现在可以绑定 TCP 端口,而不是连接到指定的 URL。 有关更多信息,请参见 ZeroMQ 支持spring-doc.cadn.net.cn

Redis 变更

如果锁的拥有权已过期,RedisLockRegistry.RedisLock.unlock() 方法将抛出 ConcurrentModificationException,而不是抛出 IllegalStateException。 为周期性锁续期添加了 RedisLockRegistry.setRenewalTaskScheduler()。 有关更多信息,请参阅 Redis 支持spring-doc.cadn.net.cn

Groovy 变更

The ControlBusFactoryBean(及其对应的<int-groovy:control-bus> XML 标签)已被弃用(用于移除),取而代之的是基于在ControlBusCommandRegistry中实现的新模型而新引入的ControlBusFactoryBean。 有关更多信息,请参阅控制总线spring-doc.cadn.net.cn

SFTP 支持变更

The DefaultSftpSessionFactory 现在暴露了一个 Consumer<SshClient> 配置器属性,用于进一步自定义内部的 SshClient。 有关更多信息,请参阅 SFTP Session Factoryspring-doc.cadn.net.cn

MQTT 支持变更

现在可以在运行时使用对应的ClientManagerIntegrationFlowContext添加多个MqttPahoMessageDrivenChannelAdapterMqttv5PahoMessageDrivenChannelAdapter实例 此外,还引入了一个MqttMessageNotDeliveredEvent事件,当操作回调响应交付失败时触发该事件。 有关更多信息,请参阅MQTT 支持spring-doc.cadn.net.cn

Zip 支持变更

The ZipTransformer 现在公开了一个 fileNameGenerator 属性,用于自定义目标 zip 文件(以及可选的 zip 条目)的名称生成。 有关更多信息,请参阅 Zip 支持spring-doc.cadn.net.cn

脚本更改

The Python scripts evaluation is now migrated to the GraalVM Polyglot. See Scripting Support for more information.spring-doc.cadn.net.cn

邮件变更

The AbstractMailReceiver 提供了一个选项,用于禁用将 Flags.Flag.FLAGGED 作为回退标志设置到接收的消息中。 有关更多信息,请参阅 邮件支持spring-doc.cadn.net.cn