6.3 和 6.4 之间的更改
新组件
从 MessageBuilder 中提取了一个 BaseMessageBuilder 类,以简化自定义构建器的实现,其中大部分逻辑应该与 MessageBuilder 保持一致。更多信息请参见 MessageBuilder。
新的 Control Bus 交互模型在 ControlBusCommandRegistry 中实现。建议使用新的 ControlBusFactoryBean 类,而不是已弃用的 ExpressionControlBusFactoryBean。更多信息,请参见 Control Bus。
此外,引入了一个 ControlBusController(与 @EnableControlBusController 一起)用于通过上述的 ControlBusCommandRegistry 管理暴露的命令。有关更多信息,请参阅 HTTP 支持。
SpEL 评估基础设施现在支持 IndexAccessor 的配置。此外,还提供了一个开箱即用的 JsonIndexAccessor。更多信息,请参见 SpEL 支持。
通用更改
现在可以使用自定义的 TaskScheduler 来配置 Java DSL SourcePollingChannelAdapterSpec
远程文件适配器更改
AbstractRemoteFileStreamingMessageSource 现在有一个便捷的 clearFetchedCache() API,用于从缓存中移除未处理的远程文件的引用。这些引用会留在缓存中,因为轮询配置不允许在一个周期内处理所有已获取的文件,并且目标 SessionFactory 可能在轮询周期之间发生变化,例如通过 RotatingServerAdvice。
JDBC 更改
LobHandler(及其相应的 API)已计划在 Spring Framework 6.2 中移除。JdbcMessageStore(以及类似的)上的相应选项也已被弃用。序列化消息的字节数组处理已完全交给 JDBC 驱动程序处理。
LockRepository.delete() 方法返回移除分布式锁所有权的结果。并且 JdbcLockRegistry.JdbcLock.unlock() 方法如果锁的所有权已过期,则会抛出 ConcurrentModificationException。更多信息,请参见 JDBC 支持。
ZeroMQ 更改
outbound 组件 ZeroMqMessageHandler(以及相应的 API)现在可以绑定一个 TCP 端口,而不是连接到给定的 URL。更多信息请参阅 ZeroMQ 支持。
Redis 更改
与其抛出 IllegalStateException,RedisLockRegistry.RedisLock.unlock() 方法会在锁的所有权过期时抛出 ConcurrentModificationException。添加一个 RedisLockRegistry.setRenewalTaskScheduler() 以定期续订锁。更多信息请参见 Redis 支持。
Groovy 更改
ControlBusFactoryBean(以及相应的 <int-groovy:control-bus> XML 标签)已弃用(待移除),取而代之的是基于在 ControlBusCommandRegistry 中实现的新模型的新 ControlBusFactoryBean。更多信息请参见 Control Bus。
SFTP 支持变更
DefaultSftpSessionFactory 现在暴露了一个 Consumer<SshClient> 配置属性,以进一步自定义内部的 SshClient。更多信息请参见 SFTP Session Factory。
MQTT 支持变更
现在可以通过 IntegrationFlowContext 使用相应的 ClientManager 在运行时添加多个 MqttPahoMessageDrivenChannelAdapter 和 Mqttv5PahoMessageDrivenChannelAdapter 实例。另外,引入了一个 MqttMessageNotDeliveredEvent 事件,在操作回调对交付失败作出反应时发出。更多信息请参见 MQTT 支持。
Zip 支持更改
ZipTransformer 现在暴露了一个 fileNameGenerator 属性,用于自定义目标 zip 文件(和可选的 zip 条目)名称生成。更多信息请参见 Zip 支持。
脚本更改
Python 脚本评估现已迁移到 GraalVM Polyglot。更多信息请参见 脚本支持。
邮件更改
AbstractMailReceiver 暴露了一个选项,可以禁用将 Flags.Flag.FLAGGED 设置为接收消息的回退标志。更多信息,请参见 邮件支持。