此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.4! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.4! |
新组件
版本 4.3 添加了许多新组件。
AMQP 异步出站网关
请参阅 异步出站网关。
MessageGroupFactory
我们引入了允许控制 logic 中的实例的策略。
我们为 添加了 的 实现,其中 为 默认
factory 进行标准实现。
有关更多信息,请参阅 Message Store 。MessageGroupFactory
MessageGroup
MessageGroupStore
SimpleMessageGroupFactory
SimpleMessageGroup
GroupType.HASH_SET
MessageGroupStore
PersistentMessageGroup
我们为持久化实例添加了 (lazy-load proxy) 实现,
它返回此实例 when there is (default)。
有关更多信息,请参阅 Message Store 。PersistentMessageGroup
MessageGroupStore
getMessageGroup()
lazyLoadMessageGroups
true
FTP 和 SFTP 流入站通道适配器
我们添加了入站通道适配器,这些适配器返回一个 for each file,允许您检索远程文件,而无需将它们写入本地文件系统。
有关更多信息,请参阅 FTP 流入站通道适配器 和 SFTP 流入站通道适配器。InputStream
StreamTransformer
我们添加了将有效负载转换为 a 或 a 的功能。
有关更多信息,请参阅 Stream Transformer 。StreamTransformer
InputStream
byte[]
String
集成图
我们添加了 和 REST 服务,以将 Spring 集成应用程序的运行时模型公开为图形。
有关更多信息,请参阅 Integration Graph。IntegrationGraphServer
IntegrationGraphController
JDBC Lock Registry
我们添加了通过数据库表共享的分布式锁。
有关更多信息,请参阅 JDBC Lock Registry。JdbcLockRegistry
LeaderInitiator
为LockRegistry
我们添加了基于策略的 implementation 。
有关更多信息,请参阅 领导事件处理 。LeaderInitiator
LockRegistry
一般更改
本节描述了版本 4.3 为 Spring 集成带来的一般更改。
核心变更
本节描述了对 Spring 集成核心的一般更改。
链中的出站网关
以前,您可以在链中的出站网关上指定 a。
它完全被忽视了。
gateway 的回复将转到下一个 chain element,或者,如果 gateway 是最后一个 element,则返回到 chain 的 output channel。
现在,系统会检测并禁止此情况。
如果您有此类配置,请删除 .reply-channel
reply-channel
异步服务激活器
我们添加了一个选项,使服务激活器同步。 有关更多信息,请参阅 Asynchronous Service Activator 。
邮件更改
本节描述了对 Spring 集成邮件功能的一般更改。
可自定义的用户标志
可自定义的(在 4.2.2 中添加,以提供用于表示邮件已
seen) 现在在 XML 命名空间中可用。
有关更多信息,请参阅在不支持 Recent
时标记 IMAP 消息。userFlag
邮件消息映射
现在,您可以将入站邮件消息与包含邮件标头的有效负载和包含电子邮件内容的有效负载进行映射。
以前,有效负载始终是 raw 。
有关更多信息,请参阅入站邮件映射。MessageHeaders
MimeMessage
JMS 更改
本节描述了对 Spring 集成 JMS 功能的一般更改。
标头映射器
现在,通过调用其方法将标准标头映射为 message 属性。
有关更多信息,请参见Mapping Message Headers to and from JMS Message。DefaultJmsHeaderMapper
correlationId
toString()
异步网关
JMS 出站网关现在具有一个属性。
有关更多信息,请参阅异步网关。async
Aggregator 更改
当 POJO 聚合器释放对象集合时,行为会发生变化。
这种情况很少见,但是,如果您的应用程序这样做,则需要对 POJO 进行少量更改。
请参阅此 重要提示:SimpleMessageGroup.getMessages()
方法返回一个 unmodifiableCollection
。note 了解更多信息。Message<?>
[[tcp/udp 更改]] === TCP/UDP 更改
本节描述了对 Spring 集成 TCP/UDP 功能的一般更改。
事件
当服务器连接工厂启动时,会发出一个新的。
有关更多信息,请参阅 TCP 连接事件。TcpConnectionServerListeningEvent
现在,您可以在 .
有关更多信息,请参阅 UDP 适配器。destination-expression
socket-expression
<int-ip:udp-outbound-channel-adapter>
流反序列化器
在组装整个消息之前无法分配最终缓冲区的各种反序列化器现在支持池化接收数据的原始缓冲区,而不是为每个消息创建和丢弃缓冲区。 有关更多信息,请参阅 TCP 连接工厂。
TCP 消息映射器
消息映射器现在可以选择设置配置的内容类型标头。 有关更多信息,请参阅 IP 消息报头。
文件更改
本节描述了对 Spring 集成文件功能的一般更改。
目标目录创建
为 生成的文件名 可以表示一个子路径,用于在目标目录中保存文件的所需目录结构。
有关更多信息,请参阅生成文件名。FileWritingMessageHandler
现在,将目录扫描逻辑隐藏在内部类中。
我们添加了 and 选项来启用此行为。
由于 API 不一致,我们弃用了 top-level。
有关更多信息,请参阅 WatchServiceDirectoryScanner
。FileReadingMessageSource
WatchService
use-watch-service
watch-events
WatchServiceDirectoryScanner
追加和刷新
现在,您可以在追加时避免刷新文件,并在空闲期间使用多种策略刷新数据。
有关更多信息,请参阅使用 APPEND_NO_FLUSH
时刷新文件。
保留时间戳
现在,您可以配置出站通道适配器以设置目标文件的时间戳。
有关更多信息,请参阅 File Timestamps 文件时间戳。lastmodified
Splitter 更改
现在,当文件完全读取时,它会自动关闭 FTP 或 SFTP 会话。
当出站网关返回 或当您使用新的 FTP 或 SFTP 流频道适配器时,这适用。
我们还引入了一个新选项,可以转换为 JSON 以实现轻松的下游网络交互。
有关更多信息,请参阅 File Splitter 。FileSplitter
InputStream
markers-json
FileSplitter.FileMarker
String
文件过滤器
我们添加了作为 .
有关更多信息,请参阅读取文件。ChainFileListFilter
CompositeFileListFilter
AMQP 更改
本节描述了对 Spring 集成 AMQP 功能的一般更改。
内容类型消息转换器
出站终端节点现在支持配置了此类
,您可以根据 Message 内容类型选择转换器。
有关更多信息,请参阅 出站消息转换。RabbitTemplate
ContentTypeDelegatingMessageConverter
延迟消息处理的标头
Spring AMQP 1.6 增加了对延迟消息交换的支持。
标头映射现在支持此功能使用的标头 ( 和 )。amqp_delay
amqp_receivedDelay
AMQP 支持的通道
AMQP 支持的通道现在支持消息映射。 有关更多信息,请参见 AMQP 支持的消息通道。
Redis 更改
本节描述了 Spring Integration Redis 功能的一般更改。
[[列表推送/弹出方向]] ==== 列表推/弹出方向
以前,队列通道适配器总是在固定方向上使用 Redis 列表,推送到左端并从右端读取。
现在,您可以分别使用 和 的 和 选项来配置读取和写入方向。
有关更多信息,请参阅 Redis Queue Inbound Channel Adapter 和 Redis Queue Outbound Channel Adapter。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 集成 SFTP 功能的一般更改。
chmod
变化
SFTP 出站网关(for 和 commands)和 SFTP 出站通道适配器现在支持在上传后更改远程文件权限的属性。
有关更多信息,请参阅 和 。put
mput
chmod
SFTP Outbound Channel Adapter
SFTP Outbound Gateway
FTP 更改
本节描述了对 Spring 集成 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 脚本
您现在可以使用 hint 或任何其他选项配置 groovy 脚本。
有关更多信息,请参阅 Groovy 配置。compile-static
CompilerConfiguration
@InboundChannelAdapter
变化
现在具有常规 的 alias 属性。
此外,目标组件现在可以以后期绑定方式从其提供的名称 ( options) 解析目标 Bean。
有关更多信息,请参阅 Annotation Support 。@InboundChannelAdapter
channel
value
SourcePollingChannelAdapter
outputChannel
outputChannelName
XMPP 更改
XMPP 通道适配器现在支持 XMPP 扩展 (XEP)。 有关更多信息,请参阅 XMPP 扩展 。
WireTap 延迟绑定
现在可以接受稍后在第一个活动拦截器操作期间解析为目标的 a。
有关详细信息,请参见 Wire Tap。WireTap
ChannelInterceptor
channelName
MessageChannel
ChannelMessageStoreQueryProvider
变化
现在支持 H2 数据库。
有关更多信息,请参阅 Backing Message Channels。ChannelMessageStoreQueryProvider
WebSocket 更改
现在公开一个选项,并公开一个选项。
有关更多信息,请参阅 WebSockets 支持。ServerWebSocketContainer
allowedOrigins
SockJsServiceOptions
suppressCors