此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

什么是新的?

对于那些已经熟悉 Spring Integration 的人,本章简要概述了 6.5 版的新功能。spring-doc.cadn.net.cn

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

Spring Integration 6.5 中有哪些新功能?

如果您对更多详细信息感兴趣,请参阅在 6.5 开发过程中解决的问题跟踪器票证。spring-doc.cadn.net.cn

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

一般更改

以前已弃用的org.springframework.util.concurrent.ListenableFuture已被删除,取而代之的是CompletableFuture.spring-doc.cadn.net.cn

之前已弃用的基于 SpEL 的控制总线组件已被删除,取而代之的是ControlBusCommandRegistry. 这<control-bus use-registry="">属性现在已弃用,无需替换,因为只有ControlBusCommandRegistry功能可用。 The Java DSLcontrolBusOnRegistry()运算符已被弃用,取而代之的是恢复controlBus()它现在完全基于ControlBusCommandRegistry. 请参阅控制总线以了解更多信息。spring-doc.cadn.net.cn

AbstractCorrelatingMessageHandler不会抛出IllegalArgumentException用于收集有效负载,这是由于MessageGroupProcessor. 相反,此类集合被包装到单个回复消息中。 有关详细信息,请参阅聚合器spring-doc.cadn.net.cn

AbstractMessageChannelbeans 现在抛出一个特殊的MessageDispatchingException当尝试向未运行的应用程序发送消息时。 通常,尝试从afterPropertiesSet(),@PostConstruct或 bean 定义方法。 这SmartLifecycle.start()是此类逻辑的首选方式,或者最好通过入站通道适配器来做到这一点。spring-doc.cadn.net.cn

The Java DSLgateway()运算符现在完全支持async(true)行为。 有关详细信息,请参阅消息传递网关spring-doc.cadn.net.cn

LockRequestHandlerAdvice

一个新的LockRequestHandlerAdvice引入是为了根据消息处理程序调用的请求消息来保留密钥的锁。 有关详细信息,请参阅向端点添加行为spring-doc.cadn.net.cn

discardIndividuallyOnExpiry相关处理程序选项

聚合器和重排序器现在可以通过设置将整个过期组作为单个消息丢弃discardIndividuallyOnExpiryfalse. 有关详细信息,请参阅 ReleaseStrategyspring-doc.cadn.net.cn

LockRegistryMessageStore

AbstractMessageGroupStore现在可以使用LockRegistry以原子方式执行一系列持久化作。 有关详细信息,请参阅使用 LockRegistryspring-doc.cadn.net.cn

千分尺观察变化

SourcePollingChannelAdapter端点现在启动一个CONSUMER对收到的消息进行善意观察。 这MessageReceiverContext现在区分handler,message-sourcemessage-producerspring.integration.type低基数标签。 有关更多信息,请参阅千分尺观察spring-doc.cadn.net.cn

可选的 Paho MQTT 依赖项

org.eclipse.paho:org.eclipse.paho.client.mqttv3依赖spring-integration-mqtt现在也是可选的,因为org.eclipse.paho:org.eclipse.paho.mqttv5.client一直都是。 有关更多信息,请参阅 MQTT 支持spring-doc.cadn.net.cn

Apache Kafka 支持变更

KafkaMessageSourceKafkaMessageDrivenChannelAdapter现在生成MessageHeaders.IDMessageHeaders.TIMESTAMP标头默认为其余的 Spring Integration 通道适配器。 可以通过注入MessagingMessageConverter使用默认设置。 有关更多信息,请参阅 Apache Kafka 支持spring-doc.cadn.net.cn

最近的文件过滤器支持

AbstractRecentFileListFilter已引入策略,根据提供的age. 提供了相应的实现:RecentFileListFilter,FtpRecentFileListFilter,SftpRecentFileListFilterSmbRecentFileListFilter. 有关详细信息,请参阅读取文件spring-doc.cadn.net.cn

FileExistsMode 表达式支持

远程文件网关 (AbstractRemoteFileOutboundGateway) 现在支持FileExistsMode在运行时通过 SpEL 表达式。 有关详细信息,请参阅远程文件网关spring-doc.cadn.net.cn

Hazelcast 模块弃用

HazelcastLockRegistry和榛子LeaderInitiator由于 Hazelcast CP 子系统迁移到企业版,已被弃用。 有关更多信息,请参阅 Hazelcast 支持spring-doc.cadn.net.cn

JDBC 支持

BeanPropertySqlParameterSourceFactory现在在内部使用MapSqlParameterSource如果提供的输入是Map. 也JdbcMessageHandler公开一个usePayloadAsParameterSource标志,允许仅针对消息有效负载处理参数源。 这就是提到的地方MapSqlParameterSource对于具有 MAP 有效负载的请求消息很有用。 有关更多信息,请参阅 JDBC 支持spring-doc.cadn.net.cn

Redis Stream 支持

ReactiveRedisStreamMessageHandler现在公开一个Function<Message<?>, RedisStreamCommands.XAddOptions>提供额外的XADD通过方便的选项RedisStreamCommands.XAddOptions应用程序接口。 有关更多信息,请参阅 Redis 支持spring-doc.cadn.net.cn