对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

2.1 和 2.2 之间的更改

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

新组件

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

RedisStore入站和出站通道适配器

Spring Integration 现在有RedisStore入站和出站通道适配器,让您写入和读取Message有效负载进出 Redis 集合。 有关详细信息,请参阅 RedisStore 出站通道适配器Redis Store 入站通道适配器spring-doc.cadn.net.cn

MongoDB 入站和出站通道适配器

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

JPA 端点

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

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

一般更改

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

默认使用 Spring 3.1

Spring Integration 现在使用 Spring 3.1。spring-doc.cadn.net.cn

向端点添加行为

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

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

有关详细信息,请参阅向终结点添加行为spring-doc.cadn.net.cn

事务同步和伪事务

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

此外,当不存在“真实”事务时,您可以通过PseudoTransactionManager.spring-doc.cadn.net.cn

有关详细信息,请参阅事务同步spring-doc.cadn.net.cn

文件适配器:改进了文件覆盖和追加处理

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

有关详细信息,请参阅处理现有目标文件spring-doc.cadn.net.cn

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

XML 命名空间支持将 reply-timeout 属性添加到以下出站网关:spring-doc.cadn.net.cn

弹簧-AMQP 1.1

Spring Integration 现在使用 Spring AMQP 1.1。 这使得可以在 Spring Integration 应用程序中使用多个功能,包括:spring-doc.cadn.net.cn

JDBC 支持 - 存储过程组件

SpEL 支持

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

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

JMX 支持

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

JDBC 支持:出站网关

当您使用 JDBC 出站网关时,更新查询不再是强制性的。 现在,您可以使用请求消息作为参数源来仅提供选择查询。spring-doc.cadn.net.cn

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

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

有序关机

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

JMS 出站网关改进

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

ObjectToJsonTransformer

默认情况下,ObjectToJsonTransformer现在将content-typeheader 到application/json. 有关详细信息,请参阅 Transformerspring-doc.cadn.net.cn

HTTP 支持

默认情况下,不再启用基于 HTTP 的 Java 序列化。 以前,当将expected-response-typeSerializable对象,则Accept标头设置不正确。 我们更新了SerializingHttpMessageConverterAcceptheader 到application/x-java-serialized-object. 但是,由于这可能会导致与现有应用程序不兼容,因此我们决定不再自动将此转换器添加到 HTTP 端点。spring-doc.cadn.net.cn

如果您希望使用 Java 序列化,则需要将SerializingHttpMessageConverter使用message-converters属性(当您使用 XML 配置时)或使用setMessageConverters()方法(在 Java 中)。spring-doc.cadn.net.cn

或者,您可能希望考虑使用 JSON。 它是通过拥有Jackson在类路径上。spring-doc.cadn.net.cn