5.2 和 5.3 之间的更改

新组件

集成模式

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

ReactiveMessageHandler

ReactiveMessageHandler现在在框架中原生支持。 有关更多信息,请参见 ReactiveMessageHandlerspring-doc.cadn.net.cn

ReactiveMessageSourceProducer

ReactiveMessageSourceProducerMessageProducerSupport包装提供的MessageSource转换为Flux按需receive()调用。 有关更多信息,请参阅 Reactive Streams Supportspring-doc.cadn.net.cn

Java DSL 扩展

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

Kotlin DSL

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

ReactiveRequestHandler建议

一个ReactiveRequestHandlerAdvice提供自定义Mono来自消息处理程序的回复。 有关更多信息,请参见 Reactive Advicespring-doc.cadn.net.cn

HandleMessageAdviceAdapter

一个HandleMessageAdviceAdapter用于包装任何MethodInterceptor申请MessageHandler.handleMessage()而不是默认的AbstractReplyProducingMessageHandler.RequestHandler.handleRequestMessage()行为。 有关更多信息,请参阅 Handling Message Advicespring-doc.cadn.net.cn

MongoDB 反应式通道适配器

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

接收消息建议

一个特别的ReceiveMessageAdvice已引入 Proxy exactlyMessageSource.receive()PollableChannel.receive(). 有关更多信息,请参阅智能轮询spring-doc.cadn.net.cn

一般更改

网关代理现在不代理default方法。 看调用default方法了解更多信息。spring-doc.cadn.net.cn

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

在聚合器中,当MessageGroupProcessor返回MessageMessageBuilder.popSequenceDetails()如果sequenceDetails匹配组第一条消息中的标头。 有关更多信息,请参阅 Aggregator Programming Modelspring-doc.cadn.net.cn

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

Spring Integration 中的事务支持现在还包括配置ReactiveTransactionManager如果MessageSourceMessageHandlerimplementation 会生成一个 Reactive 类型供 payload 发送。 看TransactionInterceptorBuilder了解更多信息。 另请参见 Reactive Transactionsspring-doc.cadn.net.cn

新的intercept()作员注册ChannelInterceptor没有创建显式通道的实例被添加到 Java DSL 中。 有关更多信息,请参见 Operator intercept()spring-doc.cadn.net.cn

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

MessageProducerSupport基类现在具有subscribeToPublisher(Publisher<? extends Message<?>>)允许实现消息驱动的生产者端点的 API,这些端点通过反应式Publisher. 有关更多信息,请参阅 Reactive Streams Supportspring-doc.cadn.net.cn

AMQP 更改

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

入站通道适配器现在支持具有consumerBatchEnabled属性设置为true. 请参阅 AMQP 入站通道适配器spring-doc.cadn.net.cn

HTTP 更改

encodeUri属性AbstractHttpRequestExecutingMessageHandler已被弃用,取而代之的是新引入的encodingMode. 看DefaultUriBuilderFactory.EncodingModeJavaDocs 和控制 URI 编码了解更多信息。 这也会影响WebFluxRequestExecutingMessageHandler,分别是 Java DSL 和 XML 配置。 相同的选项将添加到AbstractWebServiceOutboundGateway.spring-doc.cadn.net.cn

Web 服务更改

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

TCP 更改

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

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

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

RSocket 更改

一个decodeFluxAsUnit选项已添加到RSocketInboundGateway的含义是解码传入Flux作为单个单元,或对其中的每个事件应用解码。 有关更多信息,请参阅 RSocket 入站网关spring-doc.cadn.net.cn

Zookeeper 更改

一个LeaderInitiatorFactoryBean(及其 XML<int-zk:leader-listener>) 公开一个candidate选项以更好地控制Candidate配置。 有关更多信息,请参阅 领导层事件处理spring-doc.cadn.net.cn

MQTT 变更

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

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

(S)FTP 更改

FileTransferringMessageHandler(例如,对于 FTP 和 SFTP)除了File,byte[],StringInputStream现在还支持org.springframework.core.io.Resource. 有关更多信息,请参阅 SFTP 支持FTP 支持spring-doc.cadn.net.cn

文件更改

FileSplitter不再需要 Jackson 处理器(或类似处理器)依赖项markersJson模式。 它使用SimpleJsonSerializer)以获取FileSplitter.FileMarker实例。 有关更多信息,请参阅 FileSplitterspring-doc.cadn.net.cn