跳到主要内容

6.3 和 6.4 之间的更改

QWen Plus 中英对照 Changes between 6.3 and 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 更改

与其抛出 IllegalStateExceptionRedisLockRegistry.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 在运行时添加多个 MqttPahoMessageDrivenChannelAdapterMqttv5PahoMessageDrivenChannelAdapter 实例。另外,引入了一个 MqttMessageNotDeliveredEvent 事件,在操作回调对交付失败作出反应时发出。更多信息请参见 MQTT 支持

Zip 支持更改

ZipTransformer 现在暴露了一个 fileNameGenerator 属性,用于自定义目标 zip 文件(和可选的 zip 条目)名称生成。更多信息请参见 Zip 支持

脚本更改

Python 脚本评估现已迁移到 GraalVM Polyglot。更多信息请参见 脚本支持

邮件更改

AbstractMailReceiver 暴露了一个选项,可以禁用将 Flags.Flag.FLAGGED 设置为接收消息的回退标志。更多信息,请参见 邮件支持