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

5.4 和 5.5 之间的更改

新组件

文件聚合器

一个FileSplitter.FileMaker-基于实现CorrelationStrategy,ReleaseStrategyMessageGroupProcessor作为FileAggregator组件被引入。 有关详细信息,请参阅 File Aggregatorspring-doc.cadn.net.cn

MQTT v5 支持

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

一般更改

所有执着的MessageGroupStore实现提供了一个streamMessagesForGroup(Object groupId)基于目标数据库流 API 的合约。 有关详细信息,请参阅消息存储spring-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 == 0跳过调用源。 稍后可以将其更改为不同的值,例如通过控制总线。 有关详细信息,请参阅轮询消费者。spring-doc.cadn.net.cn

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

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

MessageGroup抽象可以提供一个condition稍后评估,为小组做出决定。 有关详细信息,请参阅消息组条件spring-doc.cadn.net.cn

集成流组合

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

AMQP 更改

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

Redis 更改

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

HTTP 更改

HttpRequestExecutingMessageHandler不会回退到application/x-java-serialized-object内容类型,并允许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现在支持Iterable消息有效负载PersistMode.DELETE.spring-doc.cadn.net.cn

有关详细信息,请参阅出站通道适配器spring-doc.cadn.net.cn

网关更改

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