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

新组件

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

主要管理/JMX 返工

我们添加了一个新的策略界面。 此更改与 JMX 和管理基础结构中的其他更改一起,提供了对管理配置和运行时性能的更多控制。MetricsFactorySpring中文文档

但是,这对(某些)用户环境有一些重要影响。Spring中文文档

有关完整的详细信息,请参阅指标和管理JMX 改进Spring中文文档

MongoDB 元数据存储

现在可用。 有关更多信息,请参阅 MongoDB 元数据存储MongoDbMetadataStoreSpring中文文档

SecuredChannel 注释

我们引入了注解,替换了已弃用的 . 有关更多信息,请参阅 Spring Integration 中的安全性@SecuredChannelChannelSecurityInterceptorFactoryBeanSpring中文文档

SecurityContext增殖

我们引入了从一个消息流的线程到另一个消息流的传播。 有关更多信息,请参阅 Spring Integration 中的安全性SecurityContextPropagationChannelInterceptorSecurityContextSpring中文文档

文件拆分器

在 4.1.2 中,我们添加了 ,它将文本文件拆分为几行。 它现在在命名空间中具有完全支持。 有关详细信息,请参阅文件拆分器FileSplitterint-file:Spring中文文档

Zookeeper 支持

我们在框架中添加了 Zookeeper 支持,以便在群集或多主机环境中运行时提供帮助。 此更改会影响以下功能:Spring中文文档

有关详细信息,请参阅 Zookeeper 支持Spring中文文档

螺纹屏障

可以使用新的线程组件,允许线程挂起,直到发生某些异步事件。 有关详细信息,请参阅线程屏障<int:barrier/>Spring中文文档

STOMP 支持

我们将 STOMP 支持作为入站和出站通道适配器对添加到框架中。 有关详细信息,请参阅 STOMP 支持Spring中文文档

编 解码 器

引入了一种新的抽象,用于对对象进行编码和解码。 我们添加了一个使用 Kryo 的实现。 我们还添加了基于编解码器的转换器和消息转换器。 有关详细信息,请参阅编解码器Codecbyte[]Spring中文文档

Message PreparedStatement Setter

( 和 ) 可以使用新的函数接口回调,作为使用上下文填充参数的替代方法。 有关详细信息,请参阅出站通道适配器MessagePreparedStatementSetterJdbcMessageHandler<int-jdbc:outbound-gateway><int-jdbc:outbound-channel-adapter>SqlParameterSourceFactoryPreparedStatementrequestMessageSpring中文文档

一般更改

本节介绍从版本 4.1 到版本 4.2 的一般更改。Spring中文文档

窃听

作为现有属性的替代方法,该元素现在支持该属性。selector<wire-tap/>selector-expressionSpring中文文档

文件更改

有关这些更改的详细信息,请参阅文件支持Spring中文文档

追加新行

和 现在支持一个属性。 如果设置为 ,则在写入消息后,将向文件追加一个新行。 默认属性值为 。<int-file:outbound-channel-adapter><int-file:outbound-gateway>append-new-linetruefalseSpring中文文档

忽略隐藏文件

我们添加了 属性,用于设置是否从源目录中获取隐藏文件。 它默认为 。ignore-hidden<int-file:inbound-channel-adapter>trueSpring中文文档

写入有效负载InputStream

现在也接受作为有效的消息有效负载类型。FileWritingMessageHandlerInputStreamSpring中文文档

HeadDirectoryScanner

您现在可以将 与其他实现一起使用。HeadDirectoryScannerFileListFilterSpring中文文档

上次修改的过滤器

我们添加了 .LastModifiedFileListFilterSpring中文文档

Watch Service 目录扫描程序

我们添加了 .WatchServiceDirectoryScannerSpring中文文档

持久性文件列表筛选器更改

具有一个新属性 (),当设置为 时,如果它实现(例如,)。AbstractPersistentFileListFilterflushOnUpdatetrueflush()FlushablePropertiesPersistingMetadataStoreSpring中文文档

类包更改

我们将类从 移动到 .ScatterGatherHandlerorg.springframework.integration.handlerorg.springframework.integration.scattergatherSpring中文文档

TCP 更改

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

TCP 序列化程序

TCP 不再是 . 现在,这是由类完成的。 如果直接在代码中使用序列化程序,则可能需要 .Serializersflush()OutputStreamTcpNxxConnectionflush()OutputStreamSpring中文文档

服务器套接字异常

TcpConnectionServerExceptionEvent现在,每当 TCP 服务器套接字(也添加到 4.1.3 和 4.0.7)上发生意外异常时,都会发布实例。 有关详细信息,请参阅 TCP 连接事件Spring中文文档

TCP 服务器端口

如果将 TCP 服务器套接字工厂配置为侦听随机端口,则现在可以使用 获取操作系统选择的实际端口。 也可用。getPort()getServerSocketAddress()Spring中文文档

有关详细信息,请参阅“TCP 连接工厂”。Spring中文文档

TCP 网关远程超时

现在支持作为现有属性的替代项。 这允许根据每条消息设置超时。TcpOutboundGatewayremote-timeout-expressionremote-timeoutSpring中文文档

此外,不再默认为与 相同的值,这具有完全不同的含义。remote-timeoutreply-timeoutSpring中文文档

请参见。TCP 出站网关属性了解更多信息。Spring中文文档

TCP SSLSession 可用于标头映射

TcpConnection实现现在支持从会话中提取信息以添加到消息标题中。 有关详细信息,请参阅 IP 消息标头getSslSession()Spring中文文档

TCP 事件

现在,每当发生关联异常(例如向不存在的套接字发送消息)时,都会发布新事件。Spring中文文档

已弃用。 请改用泛型事件适配器。TcpConnectionEventListeningMessageProducerSpring中文文档

有关详细信息,请参阅 TCP 连接事件Spring中文文档

@InboundChannelAdapter变化

以前,入站通道适配器将属性默认为 (infinity)。 这与 的 XML 配置不一致,该配置默认为 。 注释现在将此属性默认为 。@PollermaxMessagesPerPoll-1<inbound-channel-adapter/>11Spring中文文档

API 变更

o.s.integration.util.FunctionIterator现在需要 a 而不是 . 这样做是为了消除对 Reactor 不必要的硬依赖。 此迭代器的任何用途都需要更改导入。o.s.integration.util.Functionreactor.function.FunctionSpring中文文档

Reactor 仍支持网关等功能。 对于那些不需要它的用户,依赖项已删除。PromiseSpring中文文档

JMS 更改

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

回复 侦听器延迟初始化

现在,您可以将 JMS 出站网关中的应答侦听器配置为按需初始化并在空闲期后停止,而不是由网关的生命周期控制。 有关详细信息,请参阅出站网关Spring中文文档

消息驱动终结点中的转换错误

现在用于转换错误。 在以前的版本中,它们会导致事务回滚和消息重新传递。error-channelSpring中文文档

默认确认模式

当使用隐式定义时,默认值现在为 。 我们建议在使用此容器时使用,以避免消息丢失。 此默认值现在适用于消息驱动的入站适配器和入站网关。 它已经是 JMS 支持的通道的默认值。DefaultMessageListenerContaineracknowledgetransactedtransactedSpring中文文档

共享订阅

我们向消息驱动的端点添加了对共享订阅 (JMS 2.0) 的命名空间支持,并且 . 以前,必须将侦听器容器连接为声明才能使用共享连接。<int-jms:publish-subscribe-channel><bean/>Spring中文文档

有关更多信息,请参阅 JMS 支持Spring中文文档

条件轮询器

现在,我们为动态轮询提供了更大的灵活性。Spring中文文档

有关详细信息,请参阅消息源的条件轮询器Spring中文文档

AMQP 更改

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

发布商确认

现在支持 、 和 属性(其用途类似于 )。<int-amqp:outbound-gateway>confirm-correlation-expressionconfirm-ack-channelconfirm-nack-channel<int-amqp:outbound-channel-adapter>Spring中文文档

相关数据

对于出站通道适配器和入站网关,如果关联数据为 ,则它将成为 ack 或 nack 通道上消息的基础,并添加了额外的标头。 以前,任何关联数据(包括 )都作为 ack 或 nack 消息的有效负载返回。Message<?>Message<?>Spring中文文档

入站网关属性

现在公开该属性,以允许对应答的外部 Bean 进行更多控制。 您还可以提供自己的实现。 此外,如果请求消息没有属性,则可以使用。<int-amqp:inbound-gateway>amqp-templateRabbitTemplateAmqpTemplatedefault-reply-toreplyToSpring中文文档

有关详细信息,请参阅 AMQP 支持Spring中文文档

XPath 拆分器改进

() 现在允许配置内部,并支持 XPath 评估结果的模式(默认为 )。XPathMessageSplitter<int-xml:xpath-splitter>output-propertiesjavax.xml.transform.TransformerIteratortrueorg.w3c.dom.NodeListSpring中文文档

有关更多信息,请参见拆分 XML 消息Spring中文文档

HTTP 更改

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

CORS(核心斯酒店)

HTTP 入站端点 ( 和 ) 现在允许 配置跨域资源共享 (CORS)。<int-http:inbound-channel-adapter><int-http:inbound-gateway>Spring中文文档

入站网关超时

您可以配置 HTTP 入站门方式,以返回请求超时时指定的状态代码。 默认值是 now 而不是 。500 Internal Server Error200 OKSpring中文文档

有关详细信息,请参阅响应状态代码Spring中文文档

表单数据

我们添加了代理请求的文档。 有关详细信息,请参阅 HTTP 支持multipart/form-dataSpring中文文档

网关更改

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

[[网关方法-can-return-completablefuture<?>]] ==== 网关方法可以返回CompletableFuture<?>Spring中文文档

使用 Java 8 时,网关方法现在可以返回 。 有关更多信息,请参见 CompletableFutureCompletableFuture<?>Spring中文文档

MessagingGateway 注解

请求和应答超时属性现在已不再允许使用属性占位符或 SpEL 进行配置。 请参阅@MessagingGateway注释StringLongSpring中文文档

聚合器更改

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

聚合器性能

此版本包括聚合组件(聚合器、重排序器等)的一些性能改进,通过在消息发布时更有效地从组中删除消息。 新方法 () 已添加到消息存储库中。 设置属性(默认值:)以调整每次操作中删除的消息数。 目前,JDBC、Redis 和 MongoDB 消息存储库都支持此属性。removeMessagesFromGroupremoveBatchSize100Spring中文文档

输出消息组处理器

当使用 或 内 Bean 作为聚合器时,您现在可以直接绑定 . 此外,我们还添加了一个返回组中消息集合的函数。 当输出处理器生成 的集合时,聚合器会单独释放这些消息。 配置 使聚合器成为消息屏障,消息被保留,直到它们全部到达,然后单独发布。 有关详细信息,请参阅聚合器refMessageGroupProcessorSimpleMessageGroupProcessorMessage<?>SimpleMessageGroupProcessorSpring中文文档

FTP 和 SFTP 更改

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

入站通道适配器

现在,您可以在入站通道适配器上指定 a 来确定运行时的目录。 有关详细信息,请参阅 FTP/FTPS 适配器SFTP 适配器remote-directory-expressionSpring中文文档

网关部分结果

使用 FTP 或 SFTP 出站网关对多个文件(带有 和 )进行操作时,异常可以 在部分请求完成后发生。 如果出现这种情况,则会抛出包含部分结果的 a。 有关详细信息,请参阅 FTP 出站网关SFTP 出站网关mgetmputPartialSuccessExceptionSpring中文文档

委派会话工厂

我们添加了一个委派会话工厂,允许根据某些线程上下文值选择特定的会话工厂。Spring中文文档

有关更多信息,请参见委派会话工厂委派会话工厂Spring中文文档

默认 Sftp 会话工厂

以前,无条件允许连接到未知主机。 这现在是可配置的(默认值:)。DefaultSftpSessionFactoryfalseSpring中文文档

出厂现在需要一个配置的 文件,除非该属性是 (default: )。knownHostsallowUnknownKeystruefalseSpring中文文档

消息会话回调

我们介绍了在 中对上下文执行任何自定义操作。MessageSessionCallback<F, T>SessionrequestMessage<int-(s)ftp:outbound-gateway/>Spring中文文档

Websocket 更改

我们添加了对 的支持,以允许对内部 进行链式自定义。 有关详细信息,请参阅 WebSockets 命名空间支持WebSocketHandlerDecoratorFactoryServerWebSocketContainerWebSocketHandlerSpring中文文档

应用程序事件适配器更改

适配器现在可以作为直接允许省略自定义扩展的适配器运行。 为此,我们引入了布尔属性,该属性已在 . 有关详细信息,请参阅 Spring ApplicationEvent 支持ApplicationEventpayloadeventApplicationEventpublish-payload<int-event:outbound-channel-adapter>Spring中文文档