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

5.2 和 5.3 之间的更改

新组件

集成模式

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

ReactiveMessageHandler

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

ReactiveMessageSourceProducer

ReactiveMessageSourceProducerMessageProducerSupport将提供的MessageSource变成一个Flux按需receive()调用。 有关更多信息,请参阅响应式流支持spring-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来自消息处理程序的回复。 有关更多信息,请参阅反应性建议spring-doc.cadn.net.cn

HandleMessageAdviceAdapter

一个HandleMessageAdviceAdapter提供以包装任何MethodInterceptor用于申请MessageHandler.handleMessage()而不是默认值AbstractReplyProducingMessageHandler.RequestHandler.handleRequestMessage()行为。 有关详细信息,请参阅处理消息通知spring-doc.cadn.net.cn

MongoDB 响应式通道适配器

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

接收消息建议

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

一般更改

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

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

在聚合器中,当MessageGroupProcessor返回一个MessageMessageBuilder.popSequenceDetails()如果sequenceDetails匹配组第一封邮件中的标头。 有关详细信息,请参阅聚合器编程模型spring-doc.cadn.net.cn

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

Spring Integration 中的事务支持现在还包括用于配置ReactiveTransactionManager如果MessageSourceMessageHandler实现会生成一个响应式类型供有效负载发送。 看TransactionInterceptorBuilder了解更多信息。 另请参阅响应式事务。spring-doc.cadn.net.cn

一个新的intercept()运营商注册ChannelInterceptor未创建显式通道的实例被添加到 Java DSL 中。 有关更多信息,请参阅运算符 intercept()spring-doc.cadn.net.cn

MessageStoreSelector具有比较新旧值的新机制。 请参阅幂等接收方企业集成模式以获取更多信息。spring-doc.cadn.net.cn

MessageProducerSupport基类现在有一个subscribeToPublisher(Publisher<? extends Message<?>>)允许实现消息驱动的生产者端点,这些端点通过响应式发出消息Publisher. 有关更多信息,请参阅响应式流支持spring-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 和 Controlling URI Encoding 了解更多信息。 这也会影响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

(小)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