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