此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
新组件
版本 4.3 添加了许多新组件。
AMQP 异步出站网关
请参阅异步出站网关。
MessageGroupFactory
我们引入了允许在逻辑中控制实例的策略。
我们添加了 的实现,默认为
工厂用于标准实现。
有关详细信息,请参阅消息存储。MessageGroupFactory
MessageGroup
MessageGroupStore
SimpleMessageGroupFactory
SimpleMessageGroup
GroupType.HASH_SET
MessageGroupStore
PersistentMessageGroup
我们为持久性实例添加了 (lazy-load proxy) 实现,
当有(默认值)时返回此实例。
有关详细信息,请参阅消息存储。PersistentMessageGroup
MessageGroupStore
getMessageGroup()
lazyLoadMessageGroups
true
FTP 和 SFTP 流入站通道适配器
我们添加了为每个文件返回 an 的入站通道适配器,使您能够检索远程文件,而无需将它们写入本地文件系统。
有关详细信息,请参阅 FTP 流入站通道适配器和 SFTP 流入站通道适配器。InputStream
StreamTransformer
我们添加了将有效负载转换为 a 或 a 的 .
有关详细信息,请参阅 Stream Transformer。StreamTransformer
InputStream
byte[]
String
积分图
我们添加了 ,与 REST 服务一起,将 Spring Integration 应用程序的运行时模型公开为图形。
有关更多信息,请参见集成图。IntegrationGraphServer
IntegrationGraphController
JDBC 锁注册表
我们添加了通过数据库表共享的分布式锁。
有关更多信息,请参阅 JDBC Lock Registry。JdbcLockRegistry
LeaderInitiator
为LockRegistry
我们根据该策略增加了实施。
有关详细信息,请参阅领导事件处理。LeaderInitiator
LockRegistry
一般更改
本节介绍版本 4.3 给 Spring Integration 带来的一般更改。
核心变化
本节介绍对 Spring Integration 核心的一般更改。
链中的出站网关
以前,您可以在链中的出站网关上指定一个。
它被完全忽略了。
网关的回复将转到下一个链元素,或者,如果网关是最后一个元素,则转到链的输出通道。
现在检测到并禁止这种情况。
如果有这样的配置,请删除 .reply-channel
reply-channel
异步服务激活器
我们添加了一个选项,使服务激活器是同步的。 有关详细信息,请参阅异步服务激活器。
邮件更改
本节介绍对 Spring Integration Mail 功能的一般更改。
可自定义的用户标志
可定制的(在 4.2.2 中添加,以提供用于表示邮件已
seen) 现在在 XML 命名空间中可用。
有关详细信息,请参阅在最近
不支持时标记 IMAP 邮件。userFlag
邮件映射
现在,您可以将入站邮件与包含邮件头和包含电子邮件内容的有效负载进行映射。
以前,有效负载始终是原始 .
有关详细信息,请参阅入站邮件映射。MessageHeaders
MimeMessage
JMS 更改
本节介绍对 Spring Integration JMS 功能的一般更改。
标头映射器
现在,通过调用其方法将标准标头映射为消息属性。
有关更多信息,请参阅将消息头映射到 JMS 消息和从 JMS 消息映射消息。DefaultJmsHeaderMapper
correlationId
toString()
异步网关
JMS 出站网关现在具有一个属性。
有关详细信息,请参阅异步网关。async
聚合器更改
当 POJO 聚合器发布对象集合时,行为会发生变化。
这种情况很少见,但是,如果您的应用程序这样做,则需要对 POJO 进行一些小的更改。
请参阅此重要提示: SimpleMessageGroup.getMessages()
方法返回 unmodifiableCollection
。 注释 有关详细信息。Message<?>
[[tcp/udp-更改]] === TCP/UDP 更改
本节介绍对 Spring Integration TCP/UDP 功能的一般更改。
事件
启动服务器连接工厂时,将发出 new。
有关详细信息,请参阅 TCP 连接事件。TcpConnectionServerListeningEvent
您现在可以在 上使用 和 属性。
有关详细信息,请参阅 UDP 适配器。destination-expression
socket-expression
<int-ip:udp-outbound-channel-adapter>
流解串器
在组装整条消息之前无法分配最终缓冲区的各种反序列化程序现在支持将接收数据的原始缓冲区池化,而不是为每条消息创建和丢弃缓冲区。 有关详细信息,请参阅 TCP 连接工厂。
TCP 消息映射器
消息映射器现在可以选择设置已配置的内容类型标头。 有关详细信息,请参阅 IP 消息标头。
文件更改
本节介绍对 Spring 集成文件功能的一般更改。
目标目录创建
生成的文件名可以表示子路径,用于在目标目录中保存文件所需的目录结构。
有关详细信息,请参阅生成文件名。FileWritingMessageHandler
现在隐藏了内部类中的目录扫描逻辑。
我们添加了 and 选项来启用此行为。
由于 API 的不一致,我们弃用了顶级。
有关详细信息,请参阅 WatchServiceDirectoryScanner
。FileReadingMessageSource
WatchService
use-watch-service
watch-events
WatchServiceDirectoryScanner
追加和刷新
现在,您可以避免在追加时刷新文件,并使用多种策略在空闲期间刷新数据。
有关详细信息,请参阅使用 APPEND_NO_FLUSH
时刷新文件。
保留时间戳
现在,您可以配置出站通道适配器以设置目标文件的时间戳。
有关详细信息,请参阅文件时间戳。lastmodified
拆分器更改
现在,当文件被完全读取时,会自动关闭FTP或SFTP会话。
当出站网关返回或使用新的 FTP 或 SFTP 流通道适配器时,这适用。
我们还引入了一个新选项,用于转换为 JSON,以实现轻松的下游网络交互。
有关详细信息,请参阅文件拆分器。FileSplitter
InputStream
markers-json
FileSplitter.FileMarker
String
文件过滤器
我们添加了 作为 的替代方法。
有关详细信息,请参阅读取文件。ChainFileListFilter
CompositeFileListFilter
AMQP 更改
本节介绍对 Spring Integration AMQP 功能的一般更改。
内容类型消息转换器
出站终结点现在支持配置这样的
您可以根据消息内容类型选择转换器。
有关详细信息,请参阅出站邮件转换。RabbitTemplate
ContentTypeDelegatingMessageConverter
用于延迟消息处理的标头
Spring AMQP 1.6 增加了对延迟消息交换的支持。
标头映射现在支持此功能使用的标头 ( 和 )。amqp_delay
amqp_receivedDelay
AMQP 支持的通道
AMQP 支持的通道现在支持消息映射。 有关详细信息,请参阅 AMQP 支持的消息通道。
Redis 更改
本节介绍对 Spring Integration Redis 功能的一般更改。
[[列表推送/弹出方向]] ==== 列表推/弹出方向
以前,队列通道适配器始终以固定方向使用 Redis 列表,推送到左端并从右端读取。
现在,您可以分别使用 和 的 和 选项配置读取和写入方向。
有关更多信息,请参阅 Redis 队列入站通道适配器和 Redis 队列出站通道适配器。rightPop
leftPush
RedisQueueMessageDrivenEndpoint
RedisQueueOutboundChannelAdapter
队列入站网关默认序列化程序
入站网关中的默认序列化程序已更改为 a,以便与出站网关兼容。
有关更多信息,请参阅 Redis 队列入站网关。JdkSerializationRedisSerializer
HTTP 更改
以前,对于正文(如 )没有标头的请求,正文将被忽略。
在此版本中,此类请求的内容类型被视为建议的
由 RFC 2616 提供。
有关更多信息,请参见 Http 入站组件。POST
content-type
application/octet-stream
uriVariablesExpression
现在默认使用 a(从 4.3.15 开始)。
有关详细信息,请参阅映射 URI 变量。SimpleEvaluationContext
SFTP 更改
本节介绍对 Spring Integration SFTP 功能的一般更改。
chmod
变化
SFTP 出站网关(for 和 commands)和 SFTP 出站通道适配器现在支持在上传后更改远程文件权限的属性。
有关详细信息,请参阅和。put
mput
chmod
SFTP Outbound Channel Adapter
SFTP Outbound Gateway
FTP 更改
本节介绍对 Spring Integration FTP 功能的常规更改。
会话更改
现在支持 and 方法,因为底层 FTP 客户端可以使用它。
有了它,您现在可以配置没有表达式。
您还可以配置 without 或 .
有关详细信息,请参阅 FTP/FTPS 适配器。FtpSession
null
list()
listNames()
FtpOutboundGateway
remoteDirectory
<int-ftp:inbound-channel-adapter>
remote-directory
remote-directory-expression
路由器更改
现在支持超类映射,以避免在多个继承者的情况下对同一通道进行重复。
为此,在初始化期间加载映射类以快速失败。ErrorMessageExceptionTypeRouter
Exception
ErrorMessageExceptionTypeRouter
ClassNotFoundException
有关详细信息,请参阅路由器。
标头映射
本节介绍版本 4.2 和 4.3 之间对标头映射的更改。
AMQP 标头映射
以前,默认情况下仅映射标准 AMQP 标头。
您必须显式启用用户定义标头的映射。
在此版本中,默认情况下会映射所有标头。
此外,默认情况下不再映射入站标头。
有关详细信息,请参阅 AMQP 消息标头。amqp_deliveryMode
Groovy 脚本
您现在可以使用提示或任何其他选项配置时髦的脚本。
有关详细信息,请参阅 Groovy 配置。compile-static
CompilerConfiguration
@InboundChannelAdapter
变化
现在具有常规 .
此外,目标组件现在可以以后期绑定方式从其提供的名称(选项)解析目标 Bean。
有关详细信息,请参阅注释支持。@InboundChannelAdapter
channel
value
SourcePollingChannelAdapter
outputChannel
outputChannelName
XMPP 更改
XMPP 通道适配器现在支持 XMPP 扩展 (XEP)。 有关详细信息,请参阅 XMPP 扩展。
WireTap 后期绑定
现在可以接受稍后在第一次活动拦截器操作期间解析为目标的 a。
有关详细信息,请参阅 Wire Tap。WireTap
ChannelInterceptor
channelName
MessageChannel
ChannelMessageStoreQueryProvider
变化
现在支持 H2 数据库。
有关详细信息,请参阅支持消息通道。ChannelMessageStoreQueryProvider
WebSocket 更改
现在公开一个选项,并公开一个选项。
有关详细信息,请参阅 WebSockets 支持。ServerWebSocketContainer
allowedOrigins
SockJsServiceOptions
suppressCors