对于最新的稳定版本,请使用 Spring Integration 6.4.0! |
5.4 和 5.5 之间的更改
文件聚合器
引入了 的基于 的 和 作为组件的实现。
有关更多信息,请参阅 File Aggregator 。FileSplitter.FileMaker
CorrelationStrategy
ReleaseStrategy
MessageGroupProcessor
FileAggregator
MQTT v5 支持
引入 和 (包括各自的 ) 以支持 MQTT v5 协议通信。
有关更多信息,请参阅 MQTT v5 支持。Mqttv5PahoMessageDrivenChannelAdapter
Mqttv5PahoMessageHandler
MqttHeaderMapper
一般更改
所有持久化实现都提供基于目标数据库流式处理 API 的协定。
有关更多信息,请参阅 Message Store 。MessageGroupStore
streamMessagesForGroup(Object groupId)
bean(如果声明)现在必须是 instead of 的实例,为了向后兼容,该支持已弃用。
添加 global 属性以指示必须使用 option (或不) 配置全局默认值。
添加 global 属性以指示全局默认值必须忽略(或不忽略)调度错误并将消息传递给下一个处理程序。
有关更多信息,请参阅全局属性。integrationGlobalProperties
org.springframework.integration.context.IntegrationProperties
java.util.Properties
spring.integration.channels.error.requireSubscribers=true
errorChannel
requireSubscribers
spring.integration.channels.error.ignoreFailures=true
errorChannel
(源轮询通道适配器和轮询使用者)视为跳过调用源。
稍后可以将其更改为不同的值,例如通过 Control Bus。
有关更多信息,请参阅轮询使用者。AbstractPollingEndpoint
maxMessagesPerPoll == 0
现在接受 a to any input channel 作为反应式流源,并使用 a below.
这在 Java DSL 中作为一个选项和消息传递注释的嵌套注释中被介绍。
有关更多信息,请参阅 Reactive Streams Support 。ConsumerEndpointFactoryBean
reactiveCustomizer
Function
ReactiveStreamsConsumer
ConsumerEndpointSpec.reactive()
@Reactive
对于某些精细调度用例,现在可以将 for a correlation 消息处理程序(和 )评估为 a。
此外,该选项也被添加到 中,以提供针对要添加到组的消息的条件。
有关更多信息,请参阅 Aggregator。groupTimeoutExpression
Aggregator
Resequencer
java.util.Date
BiFunction groupConditionSupplier
AbstractCorrelatingMessageHandler
MessageGroup
抽象可以附带 a to better for later for the group for the decision。
有关更多信息,请参阅 Message Group Condition 。MessageGroup
condition
集成流组合
添加了新的工厂方法,以允许从现有流的输出启动电流。
此外,还添加了一个终端运算符,用于在一些其他流的输入通道处继续电流流动。
有关更多信息,请参阅 集成流组合 。IntegrationFlows.from(IntegrationFlow)
IntegrationFlow
IntegrationFlowDefinition
to(IntegrationFlow)
AMQP 更改
and(以及相应的 Java DSL 构建器)现在支持将 作为 general purpose 的特定于 AMQP 的替代方案。
有关更多信息,请参阅 AMQP 支持。AmqpInboundChannelAdapter
AmqpInboundGateway
org.springframework.amqp.rabbit.retry.MessageRecoverer
RecoveryCallback
Redis 更改
现在,所有选项都有 setter,包括一个函数。
有关更多信息,请参阅 Redis 支持。ReactiveRedisStreamMessageProducer
StreamReceiver.StreamReceiverOptionsBuilder
onErrorResume
HTTP 更改
这不再回退到内容类型,而是让 根据提供的请求正文转换做出最终决定。
它现在还有一个标志(默认情况下),可以只返回响应正文,或者将整体作为回复消息有效负载返回,独立于提供的 .
也为 提供了相同的选项。
有关更多信息,请参阅 HTTP 支持。HttpRequestExecutingMessageHandler
application/x-java-serialized-object
RestTemplate
HttpMessageConverter
extractResponseBody
true
ResponseEntity
expectedResponseType
WebFluxRequestExecutingMessageHandler
文件/FTP/SFTP 更改
持久性文件列表过滤器现在具有 boolean 属性 。
将此属性设置为 , 还会设置 ,这意味着出站网关( 和 )上的递归操作现在每次都将始终遍历整个目录树。
这是为了解决未检测到目录树深处更改的问题。
此外,还会导致将文件的完整路径用作元数据存储键;这解决了以下问题:如果具有相同名称的文件在不同目录中多次出现,则过滤器无法正常工作。
重要说明:这意味着对于顶级目录下的文件,将无法找到持久性元数据存储中的现有键。
因此,默认情况下,该属性为;这可能会在未来版本中更改。forRecursion
true
alwaysAcceptDirectories
ls
mget
forRecursion=true
false
现在,这提供了一个方便的选项,而不需要显式引用 .FileInboundChannelAdapterSpec
recursive(boolean)
RecursiveDirectoryScanner
为方便起见,现在可以在命令中使用 。remoteDirectoryExpression
mv
MongoDb 更改
已添加到 MongoDd Java DSL 中。
现在,在 和 implementations上都公开了一个选项。MongoDbMessageSourceSpec
update
MongoDbMessageSource
ReactiveMongoDbMessageSource
有关更多信息,请参阅 MongoDb 支持。
WebSockets 更改
现在可以在运行时注册和删除基于 的 WebSocket 通道适配器。ServerWebSocketContainer
有关更多信息,请参阅 WebSockets 支持。
JPA 更改
现在支持 .JpaOutboundGateway
Iterable
PersistMode.DELETE
有关更多信息,请参阅 Outbound Channel Adapter 。
网关更改
以前,在使用 XML 配置时,对于无参数方法,将忽略该选项。
有一个可能的中断性变更 - 如果方法之前是 Comments 以及 (使用不同的表达式) ,则 the 将被应用,现在 the 被应用。
有关更多信息,请参阅使用注释和 XML 的网关配置和调用无参数方法。@Gateway.payloadExpression
@Payload
@Gateway
@Payload
@Gateway.payloadExpression