此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1! |
什么是新的?
对于那些已经熟悉 Spring Integration 的人,本章简要概述了 6.5 版的新功能。
如果您对早期版本中引入的更改和功能感兴趣,请参阅更改历史记录。
一般更改
以前已弃用的org.springframework.util.concurrent.ListenableFuture
已被删除,取而代之的是CompletableFuture
.
之前已弃用的基于 SpEL 的控制总线组件已被删除,取而代之的是ControlBusCommandRegistry
.
这<control-bus use-registry="">
属性现在已弃用,无需替换,因为只有ControlBusCommandRegistry
功能可用。
The Java DSLcontrolBusOnRegistry()
运算符已被弃用,取而代之的是恢复controlBus()
它现在完全基于ControlBusCommandRegistry
.
请参阅控制总线以了解更多信息。
这AbstractCorrelatingMessageHandler
不会抛出IllegalArgumentException
用于收集有效负载,这是由于MessageGroupProcessor
.
相反,此类集合被包装到单个回复消息中。
有关详细信息,请参阅聚合器。
这AbstractMessageChannel
beans 现在抛出一个特殊的MessageDispatchingException
当尝试向未运行的应用程序发送消息时。
通常,尝试从afterPropertiesSet()
,@PostConstruct
或 bean 定义方法。
这SmartLifecycle.start()
是此类逻辑的首选方式,或者最好通过入站通道适配器来做到这一点。
The Java DSLgateway()
运算符现在完全支持async(true)
行为。
有关详细信息,请参阅消息传递网关。
这LockRequestHandlerAdvice
一个新的LockRequestHandlerAdvice
引入是为了根据消息处理程序调用的请求消息来保留密钥的锁。
有关详细信息,请参阅向端点添加行为。
这discardIndividuallyOnExpiry
相关处理程序选项
聚合器和重排序器现在可以通过设置将整个过期组作为单个消息丢弃discardIndividuallyOnExpiry
自false
.
有关详细信息,请参阅 ReleaseStrategy。
这LockRegistry
在MessageStore
这AbstractMessageGroupStore
现在可以使用LockRegistry
以原子方式执行一系列持久化作。
有关详细信息,请参阅使用 LockRegistry。
千分尺观察变化
这SourcePollingChannelAdapter
端点现在启动一个CONSUMER
对收到的消息进行善意观察。
这MessageReceiverContext
现在区分handler
,message-source
和message-producer
值spring.integration.type
低基数标签。
有关更多信息,请参阅千分尺观察。
可选的 Paho MQTT 依赖项
这org.eclipse.paho:org.eclipse.paho.client.mqttv3
依赖spring-integration-mqtt
现在也是可选的,因为org.eclipse.paho:org.eclipse.paho.mqttv5.client
一直都是。
有关更多信息,请参阅 MQTT 支持。
Apache Kafka 支持变更
这KafkaMessageSource
和KafkaMessageDrivenChannelAdapter
现在生成MessageHeaders.ID
和MessageHeaders.TIMESTAMP
标头默认为其余的 Spring Integration 通道适配器。
可以通过注入MessagingMessageConverter
使用默认设置。
有关更多信息,请参阅 Apache Kafka 支持。
最近的文件过滤器支持
这AbstractRecentFileListFilter
已引入策略,根据提供的age
.
提供了相应的实现:RecentFileListFilter
,FtpRecentFileListFilter
,SftpRecentFileListFilter
和SmbRecentFileListFilter
.
有关详细信息,请参阅读取文件。
FileExistsMode 表达式支持
远程文件网关 (AbstractRemoteFileOutboundGateway
) 现在支持FileExistsMode
在运行时通过 SpEL 表达式。
有关详细信息,请参阅远程文件网关。
Hazelcast 模块弃用
这HazelcastLockRegistry
和榛子LeaderInitiator
由于 Hazelcast CP 子系统迁移到企业版,已被弃用。
有关更多信息,请参阅 Hazelcast 支持。
JDBC 支持
这BeanPropertySqlParameterSourceFactory
现在在内部使用MapSqlParameterSource
如果提供的输入是Map
.
也JdbcMessageHandler
公开一个usePayloadAsParameterSource
标志,允许仅针对消息有效负载处理参数源。
这就是提到的地方MapSqlParameterSource
对于具有 MAP 有效负载的请求消息很有用。
有关更多信息,请参阅 JDBC 支持。
Redis Stream 支持
这ReactiveRedisStreamMessageHandler
现在公开一个Function<Message<?>, RedisStreamCommands.XAddOptions>
提供额外的XADD
通过方便的选项RedisStreamCommands.XAddOptions
应用程序接口。
有关更多信息,请参阅 Redis 支持。