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

5.4 和 5.5 之间的更改

新组件

文件聚合器

一个FileSplitter.FileMaker-based 实现CorrelationStrategy,ReleaseStrategyMessageGroupProcessor作为FileAggregator组件。 有关更多信息,请参阅 File Aggregatorspring-doc.cadn.net.cn

MQTT v5 支持

Mqttv5PahoMessageDrivenChannelAdapterMqttv5PahoMessageHandler(包括各自的MqttHeaderMapper) 的 API 协议的调用,以支持 MQTT v5 协议通信。 有关更多信息,请参阅 MQTT v5 支持spring-doc.cadn.net.cn

一般更改

所有持久的MessageGroupStoreimplementation 提供了一个streamMessagesForGroup(Object groupId)Contract 的 Contract。 有关更多信息,请参阅 Message Storespring-doc.cadn.net.cn

integrationGlobalPropertiesbean(如果声明)现在是org.springframework.integration.context.IntegrationProperties而不是java.util.Properties,为了向后兼容,该支持已弃用。 这spring.integration.channels.error.requireSubscribers=trueglobal 属性,以指示全局默认的errorChannel必须配置requireSubscribers选项(或不选项)。 这spring.integration.channels.error.ignoreFailures=trueglobal 属性,以指示全局默认的errorChannel必须忽略 (或不) 调度错误并将消息传递给下一个处理程序。 有关更多信息,请参阅全局属性spring-doc.cadn.net.cn

AbstractPollingEndpoint(源轮询通道适配器和轮询使用者)对待maxMessagesPerPoll == 0as 跳过调用源。 稍后可以将其更改为不同的值,例如通过 Control Bus。 有关更多信息,请参阅轮询使用者spring-doc.cadn.net.cn

ConsumerEndpointFactoryBean现在接受reactiveCustomizer Function作为响应式流源添加到任何输入通道,并使用ReactiveStreamsConsumer下面。 这被涵盖为ConsumerEndpointSpec.reactive()选项,并作为 Java DSL 中的@Reactive消息注释的嵌套注释。 有关更多信息,请参阅 Reactive Streams Supportspring-doc.cadn.net.cn

groupTimeoutExpression对于关联消息处理程序(AggregatorResequencer) 现在可以计算为java.util.Date对于一些精细的调度用例。 此外,BiFunction groupConditionSupplier选项添加到AbstractCorrelatingMessageHandler要提供MessageGroup条件。 有关更多信息,请参阅 Aggregatorspring-doc.cadn.net.cn

MessageGroupabstraction 可以通过condition稍后进行评估,以便为小组做出决定。 有关更多信息,请参阅 Message Group Conditionspring-doc.cadn.net.cn

集成流组合

新的IntegrationFlows.from(IntegrationFlow)添加了 factory 方法以允许启动电流IntegrationFlow从现有流的输出中。 此外,IntegrationFlowDefinition已添加to(IntegrationFlow)terminal 运算符在某个其他流的输入通道处继续电流。 有关更多信息,请参阅 集成流组合spring-doc.cadn.net.cn

AMQP 更改

AmqpInboundChannelAdapterAmqpInboundGateway(以及相应的 Java DSL 构建器)现在支持org.springframework.amqp.rabbit.retry.MessageRecoverer作为通用RecoveryCallback. 有关更多信息,请参阅 AMQP 支持spring-doc.cadn.net.cn

Redis 更改

ReactiveRedisStreamMessageProducer现在为所有StreamReceiver.StreamReceiverOptionsBuilder选项,包括onErrorResume功能。 有关更多信息,请参阅 Redis 支持spring-doc.cadn.net.cn

HTTP 更改

HttpRequestExecutingMessageHandler不会回退到application/x-java-serialized-objectcontent 类型,并允许RestTemplate根据HttpMessageConverter提供。 它现在还有一个extractResponseBody标志(即true)以仅返回响应正文,或返回整个ResponseEntity作为回复消息有效负载,独立于提供的expectedResponseType. 为WebFluxRequestExecutingMessageHandler太。 有关更多信息,请参阅 HTTP 支持spring-doc.cadn.net.cn

文件/FTP/SFTP 更改

持久文件列表过滤器现在具有布尔属性forRecursion. 将此属性设置为true,还会设置alwaysAcceptDirectories,这意味着出站网关 (lsmget) 现在每次都始终遍历完整的目录树。 这是为了解决未检测到目录树深处更改的问题。 另外forRecursion=true使文件的完整路径用作元数据存储键;这解决了以下问题:如果具有相同名称的文件在不同目录中多次出现,则过滤器无法正常工作。 重要说明:这意味着对于顶级目录下的文件,将无法找到持久性元数据存储中的现有键。 因此,该属性为false默认情况下;这可能会在未来版本中更改。spring-doc.cadn.net.cn

FileInboundChannelAdapterSpec现在有一个方便的recursive(boolean)选项,而不是要求显式引用RecursiveDirectoryScanner.spring-doc.cadn.net.cn

remoteDirectoryExpression现在可以在mv命令。spring-doc.cadn.net.cn

MongoDb 更改

MongoDbMessageSourceSpec已添加到 MongoDd Java DSL 中。 一update选项现在在MongoDbMessageSourceReactiveMongoDbMessageSource实现。spring-doc.cadn.net.cn

有关更多信息,请参阅 MongoDb 支持spring-doc.cadn.net.cn

WebSockets 更改

基于ServerWebSocketContainer现在可以在运行时注册和删除。spring-doc.cadn.net.cn

有关更多信息,请参阅 WebSockets 支持spring-doc.cadn.net.cn

JPA 更改

JpaOutboundGateway现在支持Iterablemessage payload 的PersistMode.DELETE.spring-doc.cadn.net.cn

有关更多信息,请参阅 Outbound Channel Adapterspring-doc.cadn.net.cn

网关更改

以前,在使用 XML 配置时,@Gateway.payloadExpression对于无参数方法被忽略。 有一个可能的中断性变更 - 如果方法被注释为@Payload以及@Gateway(使用不同的表达式)以前,@Payload将应用,现在@Gateway.payloadExpression。 有关更多信息,请参阅使用注释和 XML 的网关配置调用无参数方法spring-doc.cadn.net.cn


APP信息