此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.4spring-doc.cn

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.4spring-doc.cn

请参阅迁移指南,了解可能影响应用程序的重要更改。 您可以在 wiki 上找到 2.1 之前所有版本的迁移指南。spring-doc.cn

新组件

版本 2.2 添加了许多新组件。spring-doc.cn

RedisStore入站和出站通道适配器

Spring 集成现在具有入站和出站通道适配器,允许您向 Redis 集合写入和读取有效负载。 有关更多信息,请参阅 RedisStore 出站通道适配器和 Redis Store 入站通道适配器RedisStoreMessagespring-doc.cn

MongoDB 入站和出站通道适配器

Spring 集成现在具有 MongoDB 入站和出站通道适配器,允许您向 MongoDB 文档存储写入和读取有效负载。 有关更多信息,请参阅 MongoDB 出站通道适配器MongoDB 入站通道适配器Messagespring-doc.cn

JPA 终端节点

Spring 集成现在包括 Java 持久性 API (JPA) 的组件,用于检索和持久化 JPA 实体对象。 JPA 适配器包括以下组件:spring-doc.cn

有关更多信息,请参阅 JPA 支持spring-doc.cn

一般更改

本节介绍从版本 2.1 到版本 2.2 的一般更改。spring-doc.cn

默认使用的 Spring 3.1

Spring 集成现在使用 Spring 3.1。spring-doc.cn

向终端节点添加行为

向 poller 添加 an 的功能已经存在了一段时间。 但是,由此添加的行为会影响整个集成流程。 它没有解决向单个终端节点添加(例如)重试的功能。 2.2 版本引入了许多终端节点。<advice-chain/><request-handler-advice-chain/>spring-doc.cn

此外,为此,我们添加了三个标准建议类:spring-doc.cn

有关更多信息,请参阅向终端节点添加行为spring-doc.cn

事务同步和伪事务

Poller 现在可以参与 Spring 的 Transaction Synchronization 功能。 这允许同步诸如通过入站通道适配器重命名文件之类的操作,具体取决于事务是提交还是回滚。spring-doc.cn

此外,您可以在不存在 “真实” 交易时通过 .PseudoTransactionManagerspring-doc.cn

有关更多信息,请参阅事务同步spring-doc.cn

文件适配器:改进的文件覆盖和附加处理

使用文件出站通道适配器或文件出站网关时,可以使用新属性。 在 Spring Integration 2.2 之前,目标文件在存在时被替换。 现在,您可以指定以下选项:modespring-doc.cn

有关更多信息,请参阅处理现有目标文件spring-doc.cn

已将 reply-timeout 添加到更多出站网关

XML Namespace 支持将 reply-timeout 属性添加到以下出站网关:spring-doc.cn

弹簧-AMQP 1.1

Spring 集成现在使用 Spring AMQP 1.1。 这使得可以在 Spring 集成应用程序中使用多个功能,包括以下内容:spring-doc.cn

JDBC 支持 - 存储过程组件

SPEL 支持

使用 Spring 集成 JDBC 适配器的存储过程组件时,您现在可以使用 Spring 表达式语言 (SpEL) 提供存储过程名称或存储函数名称。spring-doc.cn

这样做可以指定要在运行时调用的存储过程。 例如,您可以提供要通过消息标头执行的存储过程名称。 有关详细信息,请参阅存储过程spring-doc.cn

JMX 支持

存储过程组件现在提供基本的 JMX 支持,将其一些属性公开为 MBean:spring-doc.cn

JDBC 支持:出站网关

当您使用 JDBC 出站网关时,更新查询不再是必需的。 现在,您可以通过使用请求消息作为参数源来仅提供 select 查询。spring-doc.cn

JDBC 支持:特定于通道的消息存储实现

我们添加了一个新的特定于消息通道的消息存储实现,使用特定于数据库的 SQL 查询提供更具可扩展性的解决方案。 有关更多信息,请参阅支持消息通道spring-doc.cn

有序关机

我们添加了一个名为 . 它允许以有序的方式关闭 Spring 集成应用程序,不允许新的入站消息发送到某些适配器,并等待一段时间以允许正在进行的消息完成。stopActiveComponents()IntegrationMBeanExporterspring-doc.cn

JMS 出站网关改进

您现在可以将 JMS 出站网关配置为使用容器来接收回复。 这样做可以提高网关的性能。MessageListenerspring-doc.cn

ObjectToJsonTransformer

默认情况下,现在将标头设置为 . 有关更多信息,请参阅 TransformerObjectToJsonTransformercontent-typeapplication/jsonspring-doc.cn

HTTP 支持

默认情况下,不再启用基于 HTTP 的 Java 序列化。 以前,在对象上设置 an 时,标题未正确设置。 我们更新了 以将标头设置为 . 但是,由于这可能会导致与现有应用程序不兼容,因此我们决定不再自动将此转换器添加到 HTTP 端点。expected-response-typeSerializableAcceptSerializingHttpMessageConverterAcceptapplication/x-java-serialized-objectspring-doc.cn

如果您希望使用 Java 序列化,则需要使用 attribute (当您使用 XML configuration 时) 或使用 method (在 Java 中) 将 the 添加到相应的端点。SerializingHttpMessageConvertermessage-converterssetMessageConverters()spring-doc.cn

或者,您可能希望考虑改用 JSON。 它是通过在 Classpath 上启用的。Jacksonspring-doc.cn