5.2 和 5.3 之间的更改

新组件

集成模式

引入了 IntegrationPattern 抽象,以指示 Spring Integration 组件属于哪种企业集成模式(一个 IntegrationPatternType)和类别。有关此抽象及其用例的更多信息,请参阅其 JavaDocs 和 集成图

ReactiveMessageHandler

ReactiveMessageHandler 现在在框架中得到原生支持。有关更多信息,请参见 ReactiveMessageHandler

ReactiveMessageSourceProducer

ReactiveMessageSourceProducerMessageProducerSupport 的响应式实现,它将提供的 MessageSource 包装成一个 Flux,用于按需的 receive() 调用。有关更多信息,请参见 响应式流支持

Java DSL 扩展

引入了新的 IntegrationFlowExtension API,以允许通过自定义或组合的 EIP 运算符扩展现有的 Java DSL。这也可以用于为任何开箱即用的 IntegrationComponentSpec 扩展引入自定义器。有关更多信息,请参见 DSL 扩展

Kotlin DSL

引入了用于集成流配置的 Kotlin DSL。有关更多信息,请参见 Kotlin DSL 章

ReactiveRequestHandlerAdvice

提供了 ReactiveRequestHandlerAdvice 以自定义来自消息处理程序的 Mono 回复。有关更多信息,请参见 响应式通知

HandleMessageAdviceAdapter

提供了 HandleMessageAdviceAdapter 以包装任何 MethodInterceptor,用于应用于 MessageHandler.handleMessage(),而不是默认的 AbstractReplyProducingMessageHandler.RequestHandler.handleRequestMessage() 行为。有关更多信息,请参见 处理消息通知

MongoDB 响应式通道适配器

spring-integration-mongodb 模块现在为 Spring Data 中的响应式 MongoDb 驱动程序支持提供通道适配器实现。此外,使用 MongoDbChangeStreamMessageProducer 提供了 MongoDb 更改流支持的响应式实现。有关更多信息,请参见 MongoDB 支持

ReceiveMessageAdvice

引入了特殊的 ReceiveMessageAdvice,用于精确地代理 MessageSource.receive()PollableChannel.receive()。有关更多信息,请参见 智能轮询

一般更改

网关代理现在默认不再代理 default 方法。有关更多信息,请参见 调用 default 方法

内部组件(例如 _org.springframework.integration.errorLogger)在集成图中表示时现在具有缩短的名称。有关更多信息,请参见 集成图

在聚合器中,当 MessageGroupProcessor 返回 Message 时,如果 sequenceDetails 与组中第一条消息的头匹配,则会在输出消息上执行 MessageBuilder.popSequenceDetails()。有关更多信息,请参见 聚合器编程模型

Java DSL 中添加了一个新的 publishSubscribeChannel() 运算符,它基于 BroadcastCapableChannelBroadcastPublishSubscribeSpec。当我们配置子流作为代理支持通道(如 SubscribableJmsChannelSubscribableRedisChannel 等)的发布-订阅订阅者时,此流式 API 具有优势。有关更多信息,请参见 子流支持

Spring Integration 中的事务支持现在还包括配置 ReactiveTransactionManager 的选项,如果 MessageSourceMessageHandler 实现生成用于发送负载的响应式类型。有关更多信息,请参见 TransactionInterceptorBuilder。另请参见 响应式事务

Java DSL 中添加了一个新的 intercept() 运算符,用于注册 ChannelInterceptor 实例而无需创建显式通道。有关更多信息,请参见 运算符 intercept()

MessageStoreSelector 有一种新的机制来比较旧值和新值。有关更多信息,请参见 幂等接收器企业集成模式

MessageProducerSupport 基类现在具有 subscribeToPublisher(Publisher<? extends Message<?>>) API,以允许实现通过响应式 Publisher 发送消息的消息驱动生产者端点。有关更多信息,请参见 响应式流支持

AMQP 更改

出站通道适配器有一个新的属性 multiSend,允许在一个 RabbitTemplate 调用范围内发送多条消息。有关更多信息,请参见 AMQP 出站通道适配器

入站通道适配器现在支持具有 consumerBatchEnabled 属性设置为 true 的侦听器容器。有关更多信息,请参见 AMQP 入站通道适配器

HTTP 更改

AbstractHttpRequestExecutingMessageHandler 上的 encodeUri 属性已被弃用,取而代之的是新引入的 encodingMode。有关更多信息,请参见 DefaultUriBuilderFactory.EncodingMode JavaDocs 和 控制 URI 编码。这也会影响 WebFluxRequestExecutingMessageHandler、相应的 Java DSL 和 XML 配置。相同的选项也添加到 AbstractWebServiceOutboundGateway 中。

Web 服务更改

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

TCP 更改

FailoverClientConnectionFactory 默认情况下不再回退,直到当前连接失败。有关更多信息,请参见 TCP 故障转移客户端连接工厂

TcpOutboundGateway 现在支持异步请求/回复。有关更多信息,请参见 TCP 网关

您现在可以配置客户端连接以在新连接上执行一些任意测试。有关更多信息,请参见 测试连接

RSocket 更改

已为 RSocketInboundGateway 添加了 decodeFluxAsUnit 选项,其含义是将传入的 Flux 解码为单个单元,或对其中的每个事件应用解码。有关更多信息,请参见 RSocket 入站网关

Zookeeper 更改

LeaderInitiatorFactoryBean(以及其 XML <int-zk:leader-listener>)公开了一个 candidate 选项,用于更好地控制 Candidate 配置。有关更多信息,请参见 领导事件处理

MQTT 更改

现在可以配置入站通道适配器,以提供用户控制何时确认消息已送达。有关更多信息,请参见 手动确认

当无法创建连接或连接丢失时,出站适配器现在会发布 MqttConnectionFailedEvent。以前只有入站适配器会这样做。请参见 MQTT 事件

(S)FTP 更改

FileTransferringMessageHandler(例如,用于 FTP 和 SFTP)除了 Filebyte[]StringInputStream 之外,现在还支持 org.springframework.core.io.Resource。有关更多信息,请参见 SFTP 支持FTP 支持

文件更改

FileSplittermarkersJson 模式下不再需要 Jackson 处理器(或类似)依赖项。它使用 SimpleJsonSerializer 来表示 FileSplitter.FileMarker 实例的直接字符串。有关更多信息,请参见 FileSplitter

© . This site is unofficial and not affiliated with VMware.