5.2 和 5.3 之间的更改
新组件
集成模式
这IntegrationPattern引入了抽象来指示哪种企业集成模式(IntegrationPatternType)和 Spring Integration 组件所属的类别。
有关此抽象及其用例的更多信息,请参阅其 JavaDocs 和 Integration Graph。
ReactiveMessageHandler
这ReactiveMessageHandler现在在框架中原生支持。
有关详细信息,请参阅 ReactiveMessageHandler。
ReactiveMessageSourceProducer
这ReactiveMessageSourceProducer是MessageProducerSupport将提供的MessageSource变成一个Flux按需receive()调用。
有关更多信息,请参阅响应式流支持。
Java DSL 扩展
一个新的IntegrationFlowExtension引入了 API,允许使用自定义或组合的 EIP 运算符扩展现有的 Java DSL。
这也可用于为任何开箱即用的定制器引入定制器IntegrationComponentSpec扩展。
有关详细信息,请参阅 DSL 扩展。
Kotlin DSL
引入了用于集成流配置的 Kotlin DSL。 有关更多信息,请参阅 Kotlin DSL 章节。
ReactiveRequestHandler建议
一个ReactiveRequestHandlerAdvice提供定制Mono来自消息处理程序的回复。
有关更多信息,请参阅反应性建议。
HandleMessageAdviceAdapter
一个HandleMessageAdviceAdapter提供以包装任何MethodInterceptor用于申请MessageHandler.handleMessage()而不是默认值AbstractReplyProducingMessageHandler.RequestHandler.handleRequestMessage()行为。
有关详细信息,请参阅处理消息通知。
MongoDB 响应式通道适配器
这spring-integration-mongodb模块现在为 Spring Data 中的 Reactive MongoDb 驱动程序支持提供通道适配器实现。
此外,MongoDb 更改流支持的响应式实现也存在于MongoDbChangeStreamMessageProducer.
有关更多信息,请参阅 MongoDB 支持。
接收消息建议
一个特别的ReceiveMessageAdvice已经被引入代理MessageSource.receive()或PollableChannel.receive().
有关更多信息,请参阅智能轮询。
一般更改
网关代理现在不代理default方法。
看调用default方法了解更多信息。
内部组件(例如_org.springframework.integration.errorLogger) 现在在积分图中表示时具有缩写的名称。
有关更多信息,请参阅集成图。
在聚合器中,当MessageGroupProcessor返回一个Message这MessageBuilder.popSequenceDetails()如果sequenceDetails匹配组第一封邮件中的标头。
有关详细信息,请参阅聚合器编程模型。
一个新的publishSubscribeChannel()运算符,基于BroadcastCapableChannel和BroadcastPublishSubscribeSpec,已添加到 Java DSL 中。
当我们将子流配置为代理支持的通道(如)的发布-订阅订阅者时,这种流畅的 API 具有其优势SubscribableJmsChannel,SubscribableRedisChannel等。
有关更多信息,请参阅子流支持。
Spring Integration 中的事务支持现在还包括用于配置ReactiveTransactionManager如果MessageSource或MessageHandler实现会生成一个响应式类型供有效负载发送。
看TransactionInterceptorBuilder了解更多信息。
另请参阅响应式事务。
一个新的intercept()运营商注册ChannelInterceptor未创建显式通道的实例被添加到 Java DSL 中。
有关更多信息,请参阅运算符 intercept() 。
这MessageStoreSelector具有比较新旧值的新机制。
请参阅幂等接收方企业集成模式以获取更多信息。
这MessageProducerSupport基类现在有一个subscribeToPublisher(Publisher<? extends Message<?>>)允许实现消息驱动的生产者端点,这些端点通过响应式发出消息Publisher.
有关更多信息,请参阅响应式流支持。
AMQP 更改
出站通道适配器具有新属性multiSend允许在一条消息的范围内发送多条消息RabbitTemplate调用。
有关详细信息,请参阅 AMQP 出站通道适配器。
入站通道适配器现在支持侦听器容器,其中包含consumerBatchEnabled属性设置为true.
请参阅 AMQP 入站通道适配器
HTTP 更改
这encodeUri属性AbstractHttpRequestExecutingMessageHandler已被弃用,取而代之的是新引入的encodingMode.
看DefaultUriBuilderFactory.EncodingModeJavaDocs 和 Controlling URI Encoding 了解更多信息。
这也会影响WebFluxRequestExecutingMessageHandler,分别是 Java DSL 和 XML 配置。
相同的选项被添加到AbstractWebServiceOutboundGateway.
Web 服务更改
已为 Web 服务组件添加了 Java DSL 支持。
这encodeUri属性AbstractWebServiceOutboundGateway已被弃用,取而代之的是新引入的encodingMode- 类似于上面的 HTTP 更改。
有关更多信息,请参阅 Web 服务支持。
TCP 更改
这FailoverClientConnectionFactory默认情况下,不再故障回复,直到当前连接失败。
有关详细信息,请参阅 TCP 故障转移客户端连接工厂。
这TcpOutboundGateway现在支持异步请求/回复。
有关详细信息,请参阅 TCP 网关。
现在,您可以配置客户端连接以对新连接执行一些任意测试。 有关详细信息,请参阅测试连接。
RSocket 更改
一个decodeFluxAsUnit选项已添加到RSocketInboundGateway具有解码传入的含义Flux作为单个单元或对其中的每个事件应用解码。
有关详细信息,请参阅 RSocket 入站网关。
Zookeeper 更改
一个LeaderInitiatorFactoryBean(以及它的 XML<int-zk:leader-listener>) 公开了一个candidate选项,以更好地控制Candidate配置。
有关更多信息,请参阅领导事件处理。
文件更改
这FileSplitter不再需要 Jackson 处理器(或类似)依赖项markersJson模式。
它使用SimpleJsonSerializer对于FileSplitter.FileMarker实例。
有关详细信息,请参阅 FileSplitter。