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

5.2 和 5.3 之间的更改

新组件

集成模式

引入了抽象来指示 Spring 集成组件属于哪个企业集成模式(an )和类别。 有关此抽象及其用例的更多信息,请参阅其 JavaDocs 和 Integration GraphIntegrationPatternIntegrationPatternTypespring-doc.cn

ReactiveMessageHandler

现在,框架本身支持 。 有关更多信息,请参见 ReactiveMessageHandlerReactiveMessageHandlerspring-doc.cn

ReactiveMessageSourceProducer

这是将提供的 to 包装到 for on demand 调用中的反应式实现。 有关更多信息,请参阅 Reactive Streams SupportReactiveMessageSourceProducerMessageProducerSupportMessageSourceFluxreceive()spring-doc.cn

Java DSL 扩展

引入了一个新的 API,允许使用自定义或组合的 EIP 运算符扩展现有的 Java DSL。 这还可用于为任何现成的扩展引入定制器。 有关更多信息,请参阅 DSL 扩展IntegrationFlowExtensionIntegrationComponentSpecspring-doc.cn

Kotlin DSL

引入了用于集成流配置的 Kotlin DSL。 有关更多信息,请参阅 Kotlin DSL 章节spring-doc.cn

ReactiveRequestHandler建议

提供 A 以自定义来自消息处理程序的回复。 有关更多信息,请参见 Reactive AdviceReactiveRequestHandlerAdviceMonospring-doc.cn

HandleMessageAdviceAdapter

提供 A 来包装 any 以应用于 ,而不是默认行为。 有关更多信息,请参阅 Handling Message AdviceHandleMessageAdviceAdapterMethodInterceptorMessageHandler.handleMessage()AbstractReplyProducingMessageHandler.RequestHandler.handleRequestMessage()spring-doc.cn

MongoDB 反应式通道适配器

该模块现在为 Spring Data 中的反应式 MongoDb 驱动程序支持提供通道适配器实现。 此外,MongoDb 更改流支持的反应式实现也存在于 . 有关更多信息,请参阅 MongoDB 支持spring-integration-mongodbMongoDbChangeStreamMessageProducerspring-doc.cn

接收消息建议

引入了一个特殊的代理 exactly 或 . 有关更多信息,请参阅智能轮询ReceiveMessageAdviceMessageSource.receive()PollableChannel.receive()spring-doc.cn

一般更改

网关代理现在默认不代理方法。 有关更多信息,请参阅调用默认方法defaultspring-doc.cn

现在,内部组件(如 )在集成图中表示时具有缩短的名称。 有关更多信息,请参阅 Integration Graph_org.springframework.integration.errorLoggerspring-doc.cn

在聚合器中,当 返回 a 时,如果 与组第一条消息中的标头匹配,则对输出消息执行 。 有关更多信息,请参阅 Aggregator Programming ModelMessageGroupProcessorMessageMessageBuilder.popSequenceDetails()sequenceDetailsspring-doc.cn

基于 和 的新运算符已添加到 Java DSL 中。 当我们将子流配置为代理支持的渠道(如 等)的发布-订阅订阅者时,这种 Fluent API 具有其优势。 有关更多信息,请参阅子流支持publishSubscribeChannel()BroadcastCapableChannelBroadcastPublishSubscribeSpecSubscribableJmsChannelSubscribableRedisChannelspring-doc.cn

Spring Integration 中的事务支持现在还包括配置选项 if a 或 implementation 为要发送的有效负载生成反应类型。 有关更多信息,请参阅。 另请参见 Reactive TransactionsReactiveTransactionManagerMessageSourceMessageHandlerTransactionInterceptorBuilderspring-doc.cn

Java DSL 中添加了一个无需创建显式通道即可注册实例的新运算符。 有关更多信息,请参见 Operator intercept()intercept()ChannelInterceptorspring-doc.cn

具有比较新旧值的新机制。 有关详细信息,请参阅 Idempotent Receiver Enterprise Integration PatternMessageStoreSelectorspring-doc.cn

基类现在有一个 API,允许实现消息驱动的生产者端点,这些端点通过 reactive 发出消息。 有关更多信息,请参阅 Reactive Streams SupportMessageProducerSupportsubscribeToPublisher(Publisher<? extends Message<?>>)Publisherspring-doc.cn

AMQP 更改

出站通道适配器具有一个新属性,允许在一次调用的范围内发送多条消息。 有关更多信息,请参阅 AMQP 出站通道适配器multiSendRabbitTemplatespring-doc.cn

入站通道适配器现在支持将属性设置为 . 请参阅 AMQP 入站通道适配器consumerBatchEnabledtruespring-doc.cn

HTTP 更改

上的属性已被弃用,取而代之的是新引入的 。 有关更多信息,请参阅 JavaDocs 和控制 URI 编码。 这也影响了 ,相应的 Java DSL 和 XML 配置。 相同的选项将添加到 .encodeUriAbstractHttpRequestExecutingMessageHandlerencodingModeDefaultUriBuilderFactory.EncodingModeWebFluxRequestExecutingMessageHandlerAbstractWebServiceOutboundGatewayspring-doc.cn

Web 服务更改

为 Web 服务组件添加了 Java DSL 支持。 上的属性已被弃用,取而代之的是新引入的 - 类似于上面的 HTTP 更改。 有关更多信息,请参阅 Web 服务支持encodeUriAbstractWebServiceOutboundGatewayencodingModespring-doc.cn

TCP 更改

默认情况下,在当前连接失败之前,不再进行故障回复。 有关更多信息,请参阅 TCP 故障转移客户端连接工厂FailoverClientConnectionFactoryspring-doc.cn

现在支持异步请求/回复。 有关更多信息,请参阅 TCP 网关TcpOutboundGatewayspring-doc.cn

现在,您可以配置客户端连接以对新连接执行一些任意测试。 有关更多信息,请参阅测试连接spring-doc.cn

RSocket 更改

已向 添加了一个选项,其含义是将传入解码为单个单元或对其中的每个事件应用解码。 有关更多信息,请参阅 RSocket 入站网关decodeFluxAsUnitRSocketInboundGatewayFluxspring-doc.cn

Zookeeper 更改

A (及其 XML )公开了一个选项,用于对配置进行更多控制。 有关更多信息,请参阅 领导层事件处理LeaderInitiatorFactoryBean<int-zk:leader-listener>candidateCandidatespring-doc.cn

MQTT 变更

现在可以将入站通道适配器配置为允许用户控制何时确认消息被传送。 有关更多信息,请参阅手动确认spring-doc.cn

出站适配器现在会在无法创建连接或丢失时发布 。 以前,只有入站适配器执行此操作。 请参阅 MQTT 事件MqttConnectionFailedEventspring-doc.cn

(S)FTP 更改

(例如,用于 FTP 和 SFTP)除了 、 之外,现在还支持 . 有关更多信息,请参阅 SFTP 支持FTP 支持FileTransferringMessageHandlerFilebyte[]StringInputStreamorg.springframework.core.io.Resourcespring-doc.cn

文件更改

该模式不再需要 Jackson 处理器(或类似)依赖项。 它使用 a 表示实例的直接字符串。 有关更多信息,请参阅 FileSplitterFileSplittermarkersJsonSimpleJsonSerializerFileSplitter.FileMarkerspring-doc.cn