此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

请参阅迁移指南,了解可能影响应用程序的重要更改。 您可以在 Wiki 上找到所有版本的迁移指南,这些指南可以追溯到 2.1Spring中文文档

新组件

版本 4.3 添加了许多新组件。Spring中文文档

AMQP 异步出站网关

MessageGroupFactory

我们引入了允许在逻辑中控制实例的策略。 我们添加了 的实现,默认为 工厂用于标准实现。 有关详细信息,请参阅消息存储MessageGroupFactoryMessageGroupMessageGroupStoreSimpleMessageGroupFactorySimpleMessageGroupGroupType.HASH_SETMessageGroupStoreSpring中文文档

PersistentMessageGroup

我们为持久性实例添加了 (lazy-load proxy) 实现, 当有(默认值)时返回此实例。 有关详细信息,请参阅消息存储PersistentMessageGroupMessageGroupStoregetMessageGroup()lazyLoadMessageGroupstrueSpring中文文档

FTP 和 SFTP 流入站通道适配器

我们添加了为每个文件返回 an 的入站通道适配器,使您能够检索远程文件,而无需将它们写入本地文件系统。 有关详细信息,请参阅 FTP 流入站通道适配器SFTP 流入站通道适配器InputStreamSpring中文文档

StreamTransformer

我们添加了将有效负载转换为 a 或 a 的 . 有关详细信息,请参阅 Stream TransformerStreamTransformerInputStreambyte[]StringSpring中文文档

积分图

我们添加了 ,与 REST 服务一起,将 Spring Integration 应用程序的运行时模型公开为图形。 有关更多信息,请参见集成图IntegrationGraphServerIntegrationGraphControllerSpring中文文档

JDBC 锁注册表

我们添加了通过数据库表共享的分布式锁。 有关更多信息,请参阅 JDBC Lock RegistryJdbcLockRegistrySpring中文文档

LeaderInitiatorLockRegistry

我们根据该策略增加了实施。 有关详细信息,请参阅领导事件处理LeaderInitiatorLockRegistrySpring中文文档

一般更改

本节介绍版本 4.3 给 Spring Integration 带来的一般更改。Spring中文文档

核心变化

本节介绍对 Spring Integration 核心的一般更改。Spring中文文档

链中的出站网关

以前,您可以在链中的出站网关上指定一个。 它被完全忽略了。 网关的回复将转到下一个链元素,或者,如果网关是最后一个元素,则转到链的输出通道。 现在检测到并禁止这种情况。 如果有这样的配置,请删除 .reply-channelreply-channelSpring中文文档

异步服务激活器

我们添加了一个选项,使服务激活器是同步的。 有关详细信息,请参阅异步服务激活器Spring中文文档

消息注释支持更改

消息传递注释支持不需要类级别的(或任何其他)注释声明。 若要恢复以前的行为,请将 设置为 。 有关详细信息,请参阅全局属性注释支持@MessageEndpoint@Componentspring.integration.messagingAnnotations.require.componentAnnotationspring.integration.propertiestrueSpring中文文档

邮件更改

本节介绍对 Spring Integration Mail 功能的一般更改。Spring中文文档

可自定义的用户标志

可定制的(在 4.2.2 中添加,以提供用于表示邮件已 seen) 现在在 XML 命名空间中可用。 有关详细信息,请参阅在最近不支持时标记 IMAP 邮件userFlagSpring中文文档

邮件映射

现在,您可以将入站邮件与包含邮件头和包含电子邮件内容的有效负载进行映射。 以前,有效负载始终是原始 . 有关详细信息,请参阅入站邮件映射MessageHeadersMimeMessageSpring中文文档

JMS 更改

本节介绍对 Spring Integration JMS 功能的一般更改。Spring中文文档

标头映射器

现在,通过调用其方法将标准标头映射为消息属性。 有关更多信息,请参阅将消息头映射到 JMS 消息和从 JMS 消息映射消息。DefaultJmsHeaderMappercorrelationIdtoString()Spring中文文档

异步网关

JMS 出站网关现在具有一个属性。 有关详细信息,请参阅异步网关asyncSpring中文文档

聚合器更改

当 POJO 聚合器发布对象集合时,行为会发生变化。 这种情况很少见,但是,如果您的应用程序这样做,则需要对 POJO 进行一些小的更改。 请参阅此重要提示: SimpleMessageGroup.getMessages() 方法返回 unmodifiableCollection 注释 有关详细信息。Message<?>Spring中文文档

[[tcp/udp-更改]] === TCP/UDP 更改Spring中文文档

本节介绍对 Spring Integration TCP/UDP 功能的一般更改。Spring中文文档

事件

启动服务器连接工厂时,将发出 new。 有关详细信息,请参阅 TCP 连接事件TcpConnectionServerListeningEventSpring中文文档

您现在可以在 上使用 和 属性。 有关详细信息,请参阅 UDP 适配器destination-expressionsocket-expression<int-ip:udp-outbound-channel-adapter>Spring中文文档

流解串器

在组装整条消息之前无法分配最终缓冲区的各种反序列化程序现在支持将接收数据的原始缓冲区池化,而不是为每条消息创建和丢弃缓冲区。 有关详细信息,请参阅 TCP 连接工厂Spring中文文档

TCP 消息映射器

消息映射器现在可以选择设置已配置的内容类型标头。 有关详细信息,请参阅 IP 消息标头Spring中文文档

文件更改

本节介绍对 Spring 集成文件功能的一般更改。Spring中文文档

目标目录创建

生成的文件名可以表示子路径,用于在目标目录中保存文件所需的目录结构。 有关详细信息,请参阅生成文件名FileWritingMessageHandlerSpring中文文档

现在隐藏了内部类中的目录扫描逻辑。 我们添加了 and 选项来启用此行为。 由于 API 的不一致,我们弃用了顶级。 有关详细信息,请参阅 WatchServiceDirectoryScannerFileReadingMessageSourceWatchServiceuse-watch-servicewatch-eventsWatchServiceDirectoryScannerSpring中文文档

缓冲区大小

写入文件时,现在可以指定缓冲区大小。Spring中文文档

追加和刷新

现在,您可以避免在追加时刷新文件,并使用多种策略在空闲期间刷新数据。 有关详细信息,请参阅使用 APPEND_NO_FLUSH 时刷新文件Spring中文文档

保留时间戳

现在,您可以配置出站通道适配器以设置目标文件的时间戳。 有关详细信息,请参阅文件时间戳lastmodifiedSpring中文文档

拆分器更改

现在,当文件被完全读取时,会自动关闭FTP或SFTP会话。 当出站网关返回或使用新的 FTP 或 SFTP 流通道适配器时,这适用。 我们还引入了一个新选项,用于转换为 JSON,以实现轻松的下游网络交互。 有关详细信息,请参阅文件拆分器FileSplitterInputStreammarkers-jsonFileSplitter.FileMarkerStringSpring中文文档

文件过滤器

我们添加了 作为 的替代方法。 有关详细信息,请参阅读取文件ChainFileListFilterCompositeFileListFilterSpring中文文档

AMQP 更改

本节介绍对 Spring Integration AMQP 功能的一般更改。Spring中文文档

内容类型消息转换器

出站终结点现在支持配置这样的 您可以根据消息内容类型选择转换器。 有关详细信息,请参阅出站邮件转换RabbitTemplateContentTypeDelegatingMessageConverterSpring中文文档

用于延迟消息处理的标头

Spring AMQP 1.6 增加了对延迟消息交换的支持。 标头映射现在支持此功能使用的标头 ( 和 )。amqp_delayamqp_receivedDelaySpring中文文档

AMQP 支持的通道

AMQP 支持的通道现在支持消息映射。 有关详细信息,请参阅 AMQP 支持的消息通道Spring中文文档

Redis 更改

本节介绍对 Spring Integration Redis 功能的一般更改。Spring中文文档

[[列表推送/弹出方向]] ==== 列表推/弹出方向Spring中文文档

以前,队列通道适配器始终以固定方向使用 Redis 列表,推送到左端并从右端读取。 现在,您可以分别使用 和 的 和 选项配置读取和写入方向。 有关更多信息,请参阅 Redis 队列入站通道适配器Redis 队列出站通道适配器rightPopleftPushRedisQueueMessageDrivenEndpointRedisQueueOutboundChannelAdapterSpring中文文档

队列入站网关默认序列化程序

入站网关中的默认序列化程序已更改为 a,以便与出站网关兼容。 有关更多信息,请参阅 Redis 队列入站网关JdkSerializationRedisSerializerSpring中文文档

HTTP 更改

以前,对于正文(如 )没有标头的请求,正文将被忽略。 在此版本中,此类请求的内容类型被视为建议的 由 RFC 2616 提供。 有关更多信息,请参见 Http 入站组件POSTcontent-typeapplication/octet-streamSpring中文文档

uriVariablesExpression现在默认使用 a(从 4.3.15 开始)。 有关详细信息,请参阅映射 URI 变量SimpleEvaluationContextSpring中文文档

SFTP 更改

本节介绍对 Spring Integration SFTP 功能的一般更改。Spring中文文档

工厂豆

我们添加了一个新的工厂 bean,以简化 SFTP 的 Jsch 代理的配置。 有关详细信息,请参阅。JschProxyFactoryBeanSpring中文文档

chmod变化

SFTP 出站网关(for 和 commands)和 SFTP 出站通道适配器现在支持在上传后更改远程文件权限的属性。 有关详细信息,请参阅和。putmputchmodSFTP Outbound Channel AdapterSFTP Outbound GatewaySpring中文文档

FTP 更改

本节介绍对 Spring Integration FTP 功能的常规更改。Spring中文文档

会话更改

现在支持 and 方法,因为底层 FTP 客户端可以使用它。 有了它,您现在可以配置没有表达式。 您还可以配置 without 或 . 有关详细信息,请参阅 FTP/FTPS 适配器FtpSessionnulllist()listNames()FtpOutboundGatewayremoteDirectory<int-ftp:inbound-channel-adapter>remote-directoryremote-directory-expressionSpring中文文档

路由器更改

现在支持超类映射,以避免在多个继承者的情况下对同一通道进行重复。 为此,在初始化期间加载映射类以快速失败。ErrorMessageExceptionTypeRouterExceptionErrorMessageExceptionTypeRouterClassNotFoundExceptionSpring中文文档

有关详细信息,请参阅路由器Spring中文文档

标头映射

本节介绍版本 4.2 和 4.3 之间对标头映射的更改。Spring中文文档

常规

AMQP、WS 和 XMPP 标头映射(如 和 )现在支持否定模式。 有关详细信息,请参阅 AMQP 消息头WS 消息头XMPP 消息头request-header-mappingreply-header-mappingSpring中文文档

AMQP 标头映射

以前,默认情况下仅映射标准 AMQP 标头。 您必须显式启用用户定义标头的映射。 在此版本中,默认情况下会映射所有标头。 此外,默认情况下不再映射入站标头。 有关详细信息,请参阅 AMQP 消息标头amqp_deliveryModeSpring中文文档

Groovy 脚本

您现在可以使用提示或任何其他选项配置时髦的脚本。 有关详细信息,请参阅 Groovy 配置compile-staticCompilerConfigurationSpring中文文档

@InboundChannelAdapter变化

现在具有常规 . 此外,目标组件现在可以以后期绑定方式从其提供的名称(选项)解析目标 Bean。 有关详细信息,请参阅注释支持@InboundChannelAdapterchannelvalueSourcePollingChannelAdapteroutputChanneloutputChannelNameSpring中文文档

XMPP 更改

XMPP 通道适配器现在支持 XMPP 扩展 (XEP)。 有关详细信息,请参阅 XMPP 扩展Spring中文文档

WireTap 后期绑定

现在可以接受稍后在第一次活动拦截器操作期间解析为目标的 a。 有关详细信息,请参阅 Wire TapWireTapChannelInterceptorchannelNameMessageChannelSpring中文文档

ChannelMessageStoreQueryProvider变化

现在支持 H2 数据库。 有关详细信息,请参阅支持消息通道ChannelMessageStoreQueryProviderSpring中文文档

WebSocket 更改

现在公开一个选项,并公开一个选项。 有关详细信息,请参阅 WebSockets 支持ServerWebSocketContainerallowedOriginsSockJsServiceOptionssuppressCorsSpring中文文档