此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

4.0 和 4.1 之间的更改

请参阅迁移指南,了解可能影响应用程序的重要更改。 您可以在 wiki 上找到所有版本返回 2.1 的迁移指南。spring-doc.cadn.net.cn

新组件

4.1 版添加了许多新组件。spring-doc.cadn.net.cn

Promise<?>网关

消息传递网关方法现在支持 ReactorPromise返回类型。 请参阅异步网关spring-doc.cadn.net.cn

WebSocket 支持

WebSocket模块现已推出。 它完全基于 Spring WebSocket 和 Spring Messaging 模块,并提供了一个<inbound-channel-adapter><outbound-channel-adapter>. 有关更多信息,请参阅 WebSockets 支持spring-doc.cadn.net.cn

分散-聚集企业集成模式

我们实施了分散-聚集的企业集成模式。 有关更多信息,请参阅分散收集spring-doc.cadn.net.cn

布线滑移模式

我们添加了路由滑移 EIP 模式实现。 有关更多信息,请参阅路由单spring-doc.cadn.net.cn

幂等接收器模式

我们通过添加<idempotent-receiver>组件或IdempotentReceiverInterceptorIdempotentReceiverJava 配置的注释。 请参阅幂等接收方企业集成模式Javadoc 以获取更多信息。spring-doc.cadn.net.cn

福音JsonObjectMapper

我们添加了 BoonJsonObjectMapper对于 JSON 转换器。 有关更多信息,请参阅 Transformerspring-doc.cadn.net.cn

Redis 队列网关

我们添加了<redis-queue-inbound-gateway><redis-queue-outbound-gateway>组件。 请参阅 Redis 队列入站网关Redis 队列出站网关spring-doc.cadn.net.cn

PollSkipAdvice

我们添加了PollSkipAdvice,您可以在<advice-chain><poller>确定当前轮询是否应被您实现的某些条件禁止(跳过)PollSkipStrategy. 有关更多信息,请参阅轮询器spring-doc.cadn.net.cn

一般更改

本节介绍从 4.0 版到 4.1 版的一般更改。spring-doc.cadn.net.cn

AMQP 入站终结点、通道

使用消息侦听器容器(入站端点和通道)的元素现在支持missing-queues-fatal属性。 有关详细信息,请参阅 AMQP 支持spring-doc.cadn.net.cn

AMQP 出站终结点

AMQP 出站终结点支持名为lazy-connect(默认值:true). 什么时候true,则在第一条消息到达之前不会建立与代理的连接(假设没有入站端点,它们始终在启动期间尝试建立连接)。 当设置为false,则在应用程序启动期间尝试建立连接。 有关详细信息,请参阅 AMQP 支持spring-doc.cadn.net.cn

简单消息商店

SimpleMessageStore调用时不再复制群组getMessageGroup(). 有关更多信息,请参阅 xref:message-store.adoc#sms-caution。spring-doc.cadn.net.cn

Web 服务出站网关:encode-uri

<ws:outbound-gateway/>现在提供一个encode-uri属性,允许在发送请求之前禁用 URI 对象的编码。spring-doc.cadn.net.cn

Http 入站通道适配器和状态代码

<http:inbound-channel-adapter>现在可以使用status-code-expression以覆盖默认值200 OK地位。 有关更多信息,请参阅 HTTP 命名空间支持spring-doc.cadn.net.cn

MQTT 适配器更改

现在,您可以将 MQTT 通道适配器配置为连接到多个服务器,例如,支持高可用性 (HA)。 有关更多信息,请参阅 MQTT 支持spring-doc.cadn.net.cn

MQTT 消息驱动通道适配器现在支持为每个订阅指定 QoS 设置。 请参阅入站(消息驱动)通道适配器以获取更多信息。spring-doc.cadn.net.cn

MQTT 出站通道适配器现在支持异步发送,避免在确认交付之前阻塞。 有关详细信息,请参阅出站通道适配器spring-doc.cadn.net.cn

现在可以在运行时以编程方式订阅和取消订阅主题。 请参阅入站(消息驱动)通道适配器以获取更多信息。spring-doc.cadn.net.cn

FTP 和 SFTP 适配器更改

FTP 和 SFTP 出站通道适配器现在支持追加到远程文件,并在远程文件已存在时执行特定作。 远程文件模板现在也支持此功能,以及rmdir()exists(). 此外,远程文件模板提供对底层客户端对象的访问,从而支持对低级 API 的访问。spring-doc.cadn.net.cn

有关更多信息,请参阅 FTP/FTPS 适配器SFTP 适配器spring-doc.cadn.net.cn

拆分器和迭代器

Splitter组件现在支持Iterator作为生成输出消息的结果对象。 有关更多信息,请参阅拆分器spring-doc.cadn.net.cn

聚合

Aggregator实例现在支持新属性expire-groups-upon-timeout. 有关详细信息,请参阅聚合器spring-doc.cadn.net.cn

内容丰富器改进

我们添加了一个null-result-expression属性,如果<enricher>返回null. 您可以将其添加到<header><property>. 有关更多信息,请参阅内容丰富器spring-doc.cadn.net.cn

我们添加了一个error-channel属性,该属性用于处理错误流,如果Exception发生在request-channel. 这允许您返回用于扩充的替代对象。 有关更多信息,请参阅内容丰富器spring-doc.cadn.net.cn

标头通道注册表

<header-enricher/>元素的<header-channels-to-string/>子元素现在可以覆盖标头通道注册表的默认时间,以保留通道映射。 有关详细信息,请参阅标头通道注册表spring-doc.cadn.net.cn

有序关机

我们对有序关机算法进行了改进。 有关更多信息,请参阅有序关闭spring-doc.cadn.net.cn

管理RecipientListRouter

RecipientListRouter现在提供多种管理作,用于在运行时配置收件人。 这样,您现在可以配置<recipient-list-router>没有任何<recipient>从一开始。 看RecipientListRouterManagement了解更多信息。spring-doc.cadn.net.cn

AbstractHeaderMapper:NON_STANDARD_HEADERSTokens

AbstractHeaderMapper实现现在提供了额外的NON_STANDARD_HEADERStoken 来映射任何用户定义的标头,默认情况下不会映射这些标头。 有关详细信息,请参阅 AMQP 消息标头spring-doc.cadn.net.cn

AMQP 通道:template-channel-transacted

我们引入了template-channel-transactedAMQP 的属性MessageChannel实例。 有关详细信息,请参阅 AMQP 支持的消息通道。spring-doc.cadn.net.cn

系统日志适配器

默认的 syslog 消息转换器现在可以选择在有效负载中保留原始消息,同时仍设置标头。 有关详细信息,请参阅 Syslog 入站通道适配器spring-doc.cadn.net.cn

异步网关

除了Promise前面提到的返回类型,网关方法现在可能会返回一个ListenableFuture,在 Spring Framework 4.0 中引入。 您还可以在网关中禁用异步处理,让下游流直接返回Future. 请参阅异步网关spring-doc.cadn.net.cn

聚合商建议链

AggregatorResequencer现在支持<expire-advice-chain/><expire-transactional/>child 元素来建议forceComplete操作。 有关详细信息,请参阅使用 XML 配置聚合器spring-doc.cadn.net.cn

出站通道适配器和脚本

<int:outbound-channel-adapter/>现在支持<script/>child 元素。 基础脚本必须有一个void返回类型或返回null. 请参阅 Groovy 支持脚本支持spring-doc.cadn.net.cn

重排序器更改

当重排序器中的消息组超时(使用group-timeoutMessageGroupStoreReaper),默认情况下,延迟到达的邮件现在会立即丢弃。 请参阅重序列器spring-doc.cadn.net.cn

可选的 POJO 方法参数

Spring Integration 现在始终如一地处理 Java 8 的Optional类型。 请参阅配置服务激活器spring-doc.cadn.net.cn

QueueChannel支持的队列类型

QueueChannel支持Queue type已从BlockingQueue到更通用的Queue. 此更改允许使用任何外部Queue实现(例如,Reactor 的PersistentQueue). 看QueueChannel配置.spring-doc.cadn.net.cn

ChannelInterceptor变化

ChannelInterceptor现在支持其他afterSendCompletion()afterReceiveCompletion()方法。 请参阅通道拦截器spring-doc.cadn.net.cn

IMAP 窥视

从 4.1.1 版本开始,如果显式将mail.[protocol].peekJavaMail 属性设置为false(其中[protocol]imapimaps). 请参阅 xref:changes-4.0-4.1.adoc#x4.1-mail-peekspring-doc.cadn.net.cn