对于最新的稳定版本,请使用 Spring Integration 6.3.4spring-doc.cn

对于最新的稳定版本,请使用 Spring Integration 6.3.4spring-doc.cn

新组件

文件聚合器

引入了 的基于 的 和 作为组件的实现。 有关更多信息,请参阅 File AggregatorFileSplitter.FileMakerCorrelationStrategyReleaseStrategyMessageGroupProcessorFileAggregatorspring-doc.cn

MQTT v5 支持

引入 和 (包括各自的 ) 以支持 MQTT v5 协议通信。 有关更多信息,请参阅 MQTT v5 支持Mqttv5PahoMessageDrivenChannelAdapterMqttv5PahoMessageHandlerMqttHeaderMapperspring-doc.cn

一般更改

所有持久化实现都提供基于目标数据库流式处理 API 的协定。 有关更多信息,请参阅 Message StoreMessageGroupStorestreamMessagesForGroup(Object groupId)spring-doc.cn

bean(如果声明)现在必须是 instead of 的实例,为了向后兼容,该支持已弃用。 添加 global 属性以指示必须使用 option (或不) 配置全局默认值。 添加 global 属性以指示全局默认值必须忽略(或不忽略)调度错误并将消息传递给下一个处理程序。 有关更多信息,请参阅全局属性integrationGlobalPropertiesorg.springframework.integration.context.IntegrationPropertiesjava.util.Propertiesspring.integration.channels.error.requireSubscribers=trueerrorChannelrequireSubscribersspring.integration.channels.error.ignoreFailures=trueerrorChannelspring-doc.cn

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

现在接受 a to any input channel 作为反应式流源,并使用 a below. 这在 Java DSL 中作为一个选项和消息传递注释的嵌套注释中被介绍。 有关更多信息,请参阅 Reactive Streams SupportConsumerEndpointFactoryBeanreactiveCustomizerFunctionReactiveStreamsConsumerConsumerEndpointSpec.reactive()@Reactivespring-doc.cn

对于某些精细调度用例,现在可以将 for a correlation 消息处理程序(和 )评估为 a。 此外,该选项也被添加到 中,以提供针对要添加到组的消息的条件。 有关更多信息,请参阅 AggregatorgroupTimeoutExpressionAggregatorResequencerjava.util.DateBiFunction groupConditionSupplierAbstractCorrelatingMessageHandlerMessageGroupspring-doc.cn

抽象可以附带 a to better for later for the group for the decision。 有关更多信息,请参阅 Message Group ConditionMessageGroupconditionspring-doc.cn

集成流组合

添加了新的工厂方法,以允许从现有流的输出启动电流。 此外,还添加了一个终端运算符,用于在一些其他流的输入通道处继续电流流动。 有关更多信息,请参阅 集成流组合IntegrationFlows.from(IntegrationFlow)IntegrationFlowIntegrationFlowDefinitionto(IntegrationFlow)spring-doc.cn

AMQP 更改

and(以及相应的 Java DSL 构建器)现在支持将 作为 general purpose 的特定于 AMQP 的替代方案。 有关更多信息,请参阅 AMQP 支持AmqpInboundChannelAdapterAmqpInboundGatewayorg.springframework.amqp.rabbit.retry.MessageRecovererRecoveryCallbackspring-doc.cn

Redis 更改

现在,所有选项都有 setter,包括一个函数。 有关更多信息,请参阅 Redis 支持ReactiveRedisStreamMessageProducerStreamReceiver.StreamReceiverOptionsBuilderonErrorResumespring-doc.cn

HTTP 更改

这不再回退到内容类型,而是让 根据提供的请求正文转换做出最终决定。 它现在还有一个标志(默认情况下),可以只返回响应正文,或者将整体作为回复消息有效负载返回,独立于提供的 . 也为 提供了相同的选项。 有关更多信息,请参阅 HTTP 支持HttpRequestExecutingMessageHandlerapplication/x-java-serialized-objectRestTemplateHttpMessageConverterextractResponseBodytrueResponseEntityexpectedResponseTypeWebFluxRequestExecutingMessageHandlerspring-doc.cn

文件/FTP/SFTP 更改

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

现在,这提供了一个方便的选项,而不需要显式引用 .FileInboundChannelAdapterSpecrecursive(boolean)RecursiveDirectoryScannerspring-doc.cn

为方便起见,现在可以在命令中使用 。remoteDirectoryExpressionmvspring-doc.cn

MongoDb 更改

已添加到 MongoDd Java DSL 中。 现在,在 和 implementations上都公开了一个选项。MongoDbMessageSourceSpecupdateMongoDbMessageSourceReactiveMongoDbMessageSourcespring-doc.cn

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

WebSockets 更改

现在可以在运行时注册和删除基于 的 WebSocket 通道适配器。ServerWebSocketContainerspring-doc.cn

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

JPA 更改

现在支持 .JpaOutboundGatewayIterablePersistMode.DELETEspring-doc.cn

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

网关更改

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