对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

新组件

文件聚合器

引入了基于 的 和 的实现作为组件。 有关详细信息,请参阅文件聚合器FileSplitter.FileMakerCorrelationStrategyReleaseStrategyMessageGroupProcessorFileAggregatorSpring中文文档

MQTT v5 支持

引入 和 (包括各自的 ) 以支持 MQTT v5 协议通信。 有关更多信息,请参阅 MQTT v5 支持Mqttv5PahoMessageDrivenChannelAdapterMqttv5PahoMessageHandlerMqttHeaderMapperSpring中文文档

一般更改

所有持久性实现都提供基于目标数据库流式处理 API 的协定。 有关详细信息,请参阅消息存储MessageGroupStorestreamMessagesForGroup(Object groupId)Spring中文文档

Bean(如果声明)现在必须是 而不是 的实例,为了向后兼容,不推荐使用该支持。 添加全局属性以指示必须使用选项配置全局默认值(或不配置)。 添加 global 属性以指示全局默认值必须忽略(或不忽略)调度错误并将消息传递给下一个处理程序。 有关详细信息,请参阅全局属性integrationGlobalPropertiesorg.springframework.integration.context.IntegrationPropertiesjava.util.Propertiesspring.integration.channels.error.requireSubscribers=trueerrorChannelrequireSubscribersspring.integration.channels.error.ignoreFailures=trueerrorChannelSpring中文文档

(源轮询通道适配器和轮询使用者)视为跳过调用源。 以后可以将其更改为不同的值,例如通过控制总线。 有关详细信息,请参阅轮询使用者AbstractPollingEndpointmaxMessagesPerPoll == 0Spring中文文档

现在接受任何输入通道的 a 作为反应式流源,并在下方使用 a。 这在 Java DSL 中作为选项和消息传递注释的嵌套注释进行介绍。 有关详细信息,请参阅响应式流支持ConsumerEndpointFactoryBeanreactiveCustomizerFunctionReactiveStreamsConsumerConsumerEndpointSpec.reactive()@ReactiveSpring中文文档

对于某些细粒度调度用例,现在可以将 for 相关消息处理程序(an 和 )评估为 a。 此外,该选项还添加到 to 提供条件以针对要添加到组的消息中。 有关详细信息,请参阅聚合器groupTimeoutExpressionAggregatorResequencerjava.util.DateBiFunction groupConditionSupplierAbstractCorrelatingMessageHandlerMessageGroupSpring中文文档

可以为抽象提供一个,以便稍后进行评估,以便为组做出决策。 有关详细信息,请参阅消息组条件MessageGroupconditionSpring中文文档

集成流组成

添加了新的工厂方法,以允许从现有流量的输出开始电流。 此外,还增加了一个终端算子,以在一些其他流量的输入通道上继续电流。 有关更多信息,请参见集成流组合IntegrationFlows.from(IntegrationFlow)IntegrationFlowIntegrationFlowDefinitionto(IntegrationFlow)Spring中文文档

AMQP 更改

和 (以及相应的 Java DSL 构建器)现在支持将 an 作为特定于 AMQP 的通用替代方案。 有关详细信息,请参阅 AMQP 支持AmqpInboundChannelAdapterAmqpInboundGatewayorg.springframework.amqp.rabbit.retry.MessageRecovererRecoveryCallbackSpring中文文档

Redis 更改

现在具有所有选项的设置器,包括一个函数。 有关详细信息,请参阅 Redis 支持ReactiveRedisStreamMessageProducerStreamReceiver.StreamReceiverOptionsBuilderonErrorResumeSpring中文文档

HTTP 更改

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

文件/FTP/SFTP 更改

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

现在有一个方便的选项,而不需要显式引用 .FileInboundChannelAdapterSpecrecursive(boolean)RecursiveDirectoryScannerSpring中文文档

为方便起见,现在可以在命令中使用。remoteDirectoryExpressionmvSpring中文文档

MongoDb 更改

已添加到 MongoDd Java DSL 中。 现在,在 和 实现上都公开了一个选项。MongoDbMessageSourceSpecupdateMongoDbMessageSourceReactiveMongoDbMessageSourceSpring中文文档

有关详细信息,请参阅 MongoDb 支持Spring中文文档

WebSockets 更改

现在可以在运行时注册和删除基于 的 WebSocket 通道适配器。ServerWebSocketContainerSpring中文文档

有关详细信息,请参阅 WebSockets 支持Spring中文文档

JPA 更改

现在支持消息有效负载。JpaOutboundGatewayIterablePersistMode.DELETESpring中文文档

有关详细信息,请参阅出站通道适配器Spring中文文档

网关更改

以前,在使用 XML 配置时,对于无参数方法会忽略它。 有一个可能的重大更改 - 如果该方法以前用 as 和 (使用不同的表达式) 进行注释,则将应用 ,现在应用 。 有关更多信息,请参阅使用注释和 XML 的网关配置调用无参数方法@Gateway.payloadExpression@Payload@Gateway@Payload@Gateway.payloadExpressionSpring中文文档