5.2 和 5.3 之间的更改
新组件
集成模式
这IntegrationPattern
引入了抽象来指示哪种企业集成模式(IntegrationPatternType
) 和 Spring 集成组件所属的类别。
有关此抽象及其用例的更多信息,请参阅其 JavaDocs 和 Integration Graph。
ReactiveMessageHandler
这ReactiveMessageHandler
现在在框架中原生支持。
有关更多信息,请参见 ReactiveMessageHandler。
ReactiveMessageSourceProducer
这ReactiveMessageSourceProducer
是MessageProducerSupport
包装提供的MessageSource
转换为Flux
按需receive()
调用。
有关更多信息,请参阅 Reactive Streams Support 。
Java DSL 扩展
新的IntegrationFlowExtension
引入了 API,以允许使用自定义或组合的 EIP 运算符扩展现有 Java DSL。
这还可用于为任何现成的定制器IntegrationComponentSpec
扩展。
有关更多信息,请参阅 DSL 扩展。
Kotlin DSL
引入了用于集成流配置的 Kotlin DSL。 有关更多信息,请参阅 Kotlin DSL 章节。
ReactiveRequestHandler建议
一个ReactiveRequestHandlerAdvice
提供自定义Mono
来自消息处理程序的回复。
有关更多信息,请参见 Reactive Advice。
HandleMessageAdviceAdapter
一个HandleMessageAdviceAdapter
用于包装任何MethodInterceptor
申请MessageHandler.handleMessage()
而不是默认的AbstractReplyProducingMessageHandler.RequestHandler.handleRequestMessage()
行为。
有关更多信息,请参阅 Handling Message Advice。
MongoDB 反应式通道适配器
这spring-integration-mongodb
模块现在为 Spring Data 中的反应式 MongoDb 驱动程序支持提供通道适配器实现。
此外,MongoDb 更改流支持的反应式实现与MongoDbChangeStreamMessageProducer
.
有关更多信息,请参阅 MongoDB 支持。
接收消息建议
一个特别的ReceiveMessageAdvice
已引入 Proxy exactlyMessageSource.receive()
或PollableChannel.receive()
.
有关更多信息,请参阅智能轮询。
一般更改
网关代理现在不代理default
方法。
看调用default
方法了解更多信息。
内部组件(如_org.springframework.integration.errorLogger
) 现在在集成图中表示时具有缩短的名称。
有关更多信息,请参阅 Integration Graph。
在聚合器中,当MessageGroupProcessor
返回Message
这MessageBuilder.popSequenceDetails()
如果sequenceDetails
匹配组第一条消息中的标头。
有关更多信息,请参阅 Aggregator Programming Model 。
新的publishSubscribeChannel()
运算符,基于BroadcastCapableChannel
和BroadcastPublishSubscribeSpec
已添加到 Java DSL 中。
当我们将子流配置为代理支持的通道的发布-订阅订阅者时,这种 Fluent API 具有其优势,例如SubscribableJmsChannel
,SubscribableRedisChannel
等。
有关更多信息,请参阅子流支持。
Spring Integration 中的事务支持现在还包括配置ReactiveTransactionManager
如果MessageSource
或MessageHandler
implementation 会生成一个 Reactive 类型供 payload 发送。
看TransactionInterceptorBuilder
了解更多信息。
另请参见 Reactive Transactions。
新的intercept()
作员注册ChannelInterceptor
没有创建显式通道的实例被添加到 Java DSL 中。
有关更多信息,请参见 Operator intercept() 。
这MessageStoreSelector
具有比较新旧值的新机制。
有关详细信息,请参阅 Idempotent Receiver Enterprise Integration Pattern。
这MessageProducerSupport
基类现在具有subscribeToPublisher(Publisher<? extends Message<?>>)
允许实现消息驱动的生产者端点的 API,这些端点通过反应式Publisher
.
有关更多信息,请参阅 Reactive Streams Support 。
AMQP 更改
出站通道适配器具有一个新属性multiSend
允许在一条消息的范围内发送多条消息RabbitTemplate
调用。
有关更多信息,请参阅 AMQP 出站通道适配器。
入站通道适配器现在支持具有consumerBatchEnabled
属性设置为true
.
请参阅 AMQP 入站通道适配器
HTTP 更改
这encodeUri
属性AbstractHttpRequestExecutingMessageHandler
已被弃用,取而代之的是新引入的encodingMode
.
看DefaultUriBuilderFactory.EncodingMode
JavaDocs 和控制 URI 编码了解更多信息。
这也会影响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。