此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.4.0! |
4.0 和 4.1 之间的更改
新组件
版本 4.1 添加了许多新组件。
Promise<?> 网关
消息传递网关方法现在支持 Reactor 返回类型。
请参阅 异步网关。Promise
WebSocket 支持
该模块现已推出。
它完全基于 Spring WebSocket 和 Spring Messaging 模块,并提供了一个 .
有关更多信息,请参阅 WebSockets 支持。WebSocket
<inbound-channel-adapter>
<outbound-channel-adapter>
Scatter-Gather 企业集成模式
我们实施了 scatter-gather 企业集成模式。 有关更多信息,请参阅 Scatter-Gather 。
Routing Slip Pattern
我们添加了路由滑 EIP 模式实现。 有关更多信息,请参阅路由单。
幂等接收器模式
我们通过在 XML 中添加组件或 Java 配置的 and 注释来添加幂等接收器企业集成模式实现。
有关更多信息,请参阅 Idempotent Receiver Enterprise Integration Pattern 和 Javadoc。<idempotent-receiver>
IdempotentReceiverInterceptor
IdempotentReceiver
福音JsonObjectMapper
我们为 JSON 转换器添加了 Boon。
有关更多信息,请参阅 Transformer 。JsonObjectMapper
Redis 队列网关
我们添加了 and 组件。
请参阅 Redis 队列入站网关和 Redis 队列出站网关。<redis-queue-inbound-gateway>
<redis-queue-outbound-gateway>
PollSkipAdvice
我们添加了 ,您可以在 中使用它来确定是否应由您使用 实施的某些条件来抑制(跳过)当前轮询。
有关更多信息,请参阅 轮询器。PollSkipAdvice
<advice-chain>
<poller>
PollSkipStrategy
一般更改
本节介绍从版本 4.0 到版本 4.1 的一般更改。
AMQP 入站终端节点,通道
使用消息侦听器容器的元素(入站终端节点和通道)现在支持该属性。
有关更多信息,请参阅 AMQP 支持。missing-queues-fatal
AMQP 出站终端节点
AMQP 出站终端节点支持名为 (default: ) 的新属性。
When 时,在第一条消息到达之前,不会建立与代理的连接(假设没有入站终端节点,这些终端节点总是在启动期间尝试建立连接)。
设置为 时,将在应用程序启动期间尝试建立连接。
有关更多信息,请参阅 AMQP 支持。lazy-connect
true
true
false
Http 入站通道适配器和状态代码
现在可以配置 以覆盖默认状态。
有关更多信息,请参阅 HTTP 命名空间支持。<http:inbound-channel-adapter>
status-code-expression
200 OK
MQTT 适配器更改
您现在可以将 MQTT 通道适配器配置为连接到多个服务器,例如,支持高可用性 (HA)。 有关更多信息,请参阅 MQTT 支持。
MQTT 消息驱动的通道适配器现在支持为每个订阅指定 QoS 设置。 有关更多信息,请参见入站 (消息驱动) 通道适配器。
MQTT 出站通道适配器现在支持异步发送,从而避免在确认交付之前阻塞。 有关更多信息,请参阅 Outbound Channel Adapter 。
现在可以在运行时以编程方式订阅和取消订阅主题。 有关更多信息,请参见入站 (消息驱动) 通道适配器。
FTP 和 SFTP 适配器更改
FTP 和 SFTP 出站通道适配器现在支持附加到远程文件,并在远程文件已存在时执行特定操作。
远程文件模板现在也支持此功能以及 和 。
此外,远程文件模板还提供对底层客户端对象的访问,从而允许访问低级 API。rmdir()
exists()
有关更多信息,请参阅 FTP/FTPS 适配器和 SFTP 适配器。
Splitter 和 Iterator
Splitter
组件现在支持用于生成输出消息的 As Result对象。
有关更多信息,请参阅 Splitter 。Iterator
聚合
Aggregator
instancess 现在支持新属性 。
有关更多信息,请参阅 Aggregator。expire-groups-upon-timeout
内容丰富器改进
我们添加了一个属性,如果返回,则评估并返回该属性。
您可以将其添加到 和 中。
有关更多信息,请参阅 内容扩充器 。null-result-expression
<enricher>
null
<header>
<property>
我们添加了一个属性,该属性用于处理 .
这样,您就可以返回用于扩充的替代对象。
有关更多信息,请参阅 内容扩充器 。error-channel
Exception
request-channel
Header Channel Registry
该元素的子元素现在可以覆盖标题通道注册表保留通道映射的默认时间。
有关更多信息,请参阅 Header Channel Registry 。<header-enricher/>
<header-channels-to-string/>
有序关机
我们对 orderly shutdown 算法进行了改进。 有关更多信息,请参见 Orderly Shutdown。
管理RecipientListRouter
现在提供了多个管理操作,用于在运行时配置收件人。
这样,您现在可以从一开始就配置 without any。
有关更多信息,请参阅 RecipientListRouterManagement
。RecipientListRouter
<recipient-list-router>
<recipient>
AbstractHeaderMapper:NON_STANDARD_HEADERS token
该实现现在提供了额外的令牌来映射任何用户定义的标头,默认情况下不会映射这些标头。
有关更多信息,请参阅 AMQP 消息标头。AbstractHeaderMapper
NON_STANDARD_HEADERS
AMQP 通道:template-channel-transacted
我们引入了 AMQP 实例的属性。
有关更多信息,请参见 AMQP 支持的消息通道。template-channel-transacted
MessageChannel
Syslog 适配器
默认 syslog 消息转换器现在可以选择在有效负载中保留原始消息,同时仍设置标头。 有关更多信息,请参阅 Syslog 入站通道适配器。
聚合商建议链
Aggregator
现在 support 和 child 元素来为操作提供建议。
有关更多信息,请参阅使用 XML 配置聚合器。Resequencer
<expire-advice-chain/>
<expire-transactional/>
forceComplete
Resequencer 更改
现在,默认情况下,当 resequencer 中的消息组超时(使用 或 a )时,会立即丢弃延迟到达的消息。
请参阅 Resequencer。group-timeout
MessageGroupStoreReaper
可选的 POJO 方法参数
Spring 集成现在始终如一地处理 Java 8 的类型。
请参阅配置 Service Activator。Optional
QueueChannel
backed Queue 类型
backed 已从 更改为更通用的 .
此更改允许使用任何外部实现(例如 Reactor 的 )。
参见 QueueChannel
配置。QueueChannel
Queue type
BlockingQueue
Queue
Queue
PersistentQueue
ChannelInterceptor
变化
现在支持其他 and 方法。
请参见Channel Interceptor。ChannelInterceptor
afterSendCompletion()
afterReceiveCompletion()