文件聚合器
引入了基于 的 和 的实现作为组件。
有关详细信息,请参阅文件聚合器。FileSplitter.FileMaker
CorrelationStrategy
ReleaseStrategy
MessageGroupProcessor
FileAggregator
MQTT v5 支持
引入 和 (包括各自的 ) 以支持 MQTT v5 协议通信。
有关更多信息,请参阅 MQTT v5 支持。Mqttv5PahoMessageDrivenChannelAdapter
Mqttv5PahoMessageHandler
MqttHeaderMapper
一般更改
所有持久性实现都提供基于目标数据库流式处理 API 的协定。
有关详细信息,请参阅消息存储。MessageGroupStore
streamMessagesForGroup(Object groupId)
Bean(如果声明)现在必须是 而不是 的实例,为了向后兼容,不推荐使用该支持。
添加全局属性以指示必须使用选项配置全局默认值(或不配置)。
添加 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
(源轮询通道适配器和轮询使用者)视为跳过调用源。
以后可以将其更改为不同的值,例如通过控制总线。
有关详细信息,请参阅轮询使用者。AbstractPollingEndpoint
maxMessagesPerPoll == 0
现在接受任何输入通道的 a 作为反应式流源,并在下方使用 a。
这在 Java DSL 中作为选项和消息传递注释的嵌套注释进行介绍。
有关详细信息,请参阅响应式流支持。ConsumerEndpointFactoryBean
reactiveCustomizer
Function
ReactiveStreamsConsumer
ConsumerEndpointSpec.reactive()
@Reactive
对于某些细粒度调度用例,现在可以将 for 相关消息处理程序(an 和 )评估为 a。
此外,该选项还添加到 to 提供条件以针对要添加到组的消息中。
有关详细信息,请参阅聚合器。groupTimeoutExpression
Aggregator
Resequencer
java.util.Date
BiFunction groupConditionSupplier
AbstractCorrelatingMessageHandler
MessageGroup
可以为抽象提供一个,以便稍后进行评估,以便为组做出决策。
有关详细信息,请参阅消息组条件。MessageGroup
condition
集成流组成
添加了新的工厂方法,以允许从现有流量的输出开始电流。
此外,还增加了一个终端算子,以在一些其他流量的输入通道上继续电流。
有关更多信息,请参见集成流组合。IntegrationFlows.from(IntegrationFlow)
IntegrationFlow
IntegrationFlowDefinition
to(IntegrationFlow)
AMQP 更改
和 (以及相应的 Java DSL 构建器)现在支持将 an 作为特定于 AMQP 的通用替代方案。
有关详细信息,请参阅 AMQP 支持。AmqpInboundChannelAdapter
AmqpInboundGateway
org.springframework.amqp.rabbit.retry.MessageRecoverer
RecoveryCallback
Redis 更改
现在具有所有选项的设置器,包括一个函数。
有关详细信息,请参阅 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 中。
现在,在 和 实现上都公开了一个选项。MongoDbMessageSourceSpec
update
MongoDbMessageSource
ReactiveMongoDbMessageSource
有关详细信息,请参阅 MongoDb 支持。
WebSockets 更改
现在可以在运行时注册和删除基于 的 WebSocket 通道适配器。ServerWebSocketContainer
有关详细信息,请参阅 WebSockets 支持。
JPA 更改
现在支持消息有效负载。JpaOutboundGateway
Iterable
PersistMode.DELETE
有关详细信息,请参阅出站通道适配器。
网关更改
以前,在使用 XML 配置时,对于无参数方法会忽略它。
有一个可能的重大更改 - 如果该方法以前用 as 和 (使用不同的表达式) 进行注释,则将应用 ,现在应用 。
有关更多信息,请参阅使用注释和 XML 的网关配置和调用无参数方法。@Gateway.payloadExpression
@Payload
@Gateway
@Payload
@Gateway.payloadExpression