此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.4.0! |
版本 1.0 和 2.0 之间的更改
请参阅迁移指南,了解可能影响应用程序的重要更改。
Spring 3 支持
Spring Integration 2.0 构建在 Spring 3.0.5 之上,并为我们的用户提供了它的许多功能。
[[2.0-spel-支持]] === 支持 Spring 表达式语言 (SpEL)
现在,你可以在transformer、router、filter、splitter、aggregator、service-activator、header-enricher以及Spring Integration核心命名空间的更多元素以及各种适配器中使用 SPEL 表达式。 本指南包含许多示例。
转换服务和转换器
现在,您可以在配置许多 Spring 集成组件(例如 Datatype 通道)时从 Spring 提供的转换服务支持中受益。 请参阅 Message Channel 实现 和 Service Activator。 此外,上一点中提到的 SPEL 支持也依赖于转换服务。 因此,您可以注册一次转换器,并在使用 SpEL 表达式的任何地方利用它们。
TaskScheduler
和Trigger
Spring 3.0 定义了两个与调度相关的新策略: 和 .
Spring 集成(使用大量调度)现在建立在这些基础上。
事实上, Spring Integration 1.0 最初定义了一些组件(例如 ),这些组件现在已经迁移到 Spring 3.0 的核心 API 中。
现在,你可以从整个应用程序上下文中重用相同的组件中受益(不仅仅是 Spring 集成配置)。
我们还通过提供用于直接配置速率、延迟、cron 表达式和触发器引用的属性,大大简化了 Spring 集成 Poller 的配置。
有关示例配置,请参阅 Channel Adapter 。TaskScheduler
Trigger
CronTrigger
RestTemplate
和HttpMessageConverter
我们的出站 HTTP 适配器现在委托给 Spring 来执行 HTTP 请求并处理其响应。
这也意味着您可以重用任何自定义实现。
有关更多详细信息,请参阅 HTTP 出站组件。RestTemplate
HttpMessageConverter
企业集成模式添加
同样在 2.0 中,我们添加了对 Hohpe 和 Woolf 的 Enterprise Integration Patterns 一书中描述的更多模式的支持。
消息存储
我们现在提供对消息存储模式的支持。 消息存储提供了一种策略,用于代表范围超出单个事务的任何进程(例如聚合器和 resequencer)保留消息。 本指南的许多部分都包含如何使用消息存储的示例,因为它会影响 Spring 集成的多个领域。 有关更多详细信息,请参阅 Message Store、Claim Check、Message Channels、Aggregator、JDBC Support'“ 和 Resequencer。
控制总线
我们提供了控制总线模式的实现,它允许您使用消息传递来管理和监控端点和通道。 这些实现包括基于 SPEL 的方法和运行 Groovy 脚本的方法。 有关更多详细信息,请参阅 Control Bus。
新的通道适配器和网关
我们在 Spring Integration 2.0 中添加了几个新的通道适配器和消息传递网关。
TCP 和 UDP 适配器
我们添加了通道适配器,用于通过 TCP 和 UDP Internet 协议接收和发送消息。 有关更多详细信息,请参阅 TCP 和 UDP 支持。 另请参见以下博客:“在 Spring Integration 2.0 M3 中使用 UDP 和 TCP 适配器”。
Twitter 适配器
Twitter 适配器支持发送和接收 Twitter 状态更新以及私信。 您还可以使用入站渠道适配器执行 Twitter 搜索。 有关更多详细信息,请参阅 Spring Integration Social Twitter。
XMPP 适配器
新的 XMPP 适配器同时支持聊天消息和在线状态事件。 有关更多详细信息,请参阅 XMPP 支持。
FTP 和 FTPS 适配器
现在提供通过 FTP 和 FTPS 的入站和出站文件传输支持。 有关详细信息,请参阅 FTP/FTPS 适配器。
SFTP 适配器
现在提供通过 SFTP 的入站和出站文件传输支持。 有关更多详细信息,请参阅 SFTP 适配器。
Feed 适配器
我们还添加了用于接收新闻源(ATOM 和 RSS)的通道适配器。 有关更多详细信息,请参阅 Feed Adapter。
其他新增内容
Spring 集成添加了许多其他功能。 本节将介绍它们。
Groovy 支持
Spring Integration 2.0 添加了 Groovy 支持,允许您使用 Groovy 脚本语言来提供集成和业务逻辑。 有关更多详细信息,请参阅 Groovy 支持。
映射转换器
这些对称转换器将有效负载对象与对象相互转换。
有关更多详细信息,请参阅 Transformer 。Map
JSON 转换器
这些对称转换器将有效负载对象与 JSON 相互转换。 有关更多详细信息,请参阅 Transformer 。
序列化转换器
这些对称转换器将有效负载对象与字节数组相互转换。 它们还支持 Spring 3.0.5 添加的 serializer 和 deserializer 策略接口。 有关更多详细信息,请参阅 Transformer 。
框架重构
核心 API 经过了一些重大的重构,使其更简单、更可用。
尽管我们预计对开发人员的影响应该很小,但您应该通读本文档以了解更改的内容。
具体来说,您应该阅读 Dynamic Routers、Messaging Gateways、HTTP Outbound Components、Message 和 Aggregator。
如果您直接依赖某些核心组件(、、、 和其他组件),则需要更新任何 import 语句。
我们重组了一些打包,以提供扩展领域模型所需的灵活性,同时避免任何循环依赖(这是框架的政策,以避免这种 “纠结”)。Message
MessageHeaders
MessageChannel
MessageBuilder
新的源代码控制管理和构建基础设施
在 Spring Integration 2.0 中,我们将构建环境切换为使用 Git 进行源代码控制。 要访问我们的存储库,请访问 git.springsource.org/spring-integration。 我们还将构建系统切换到了 Gradle。
新的 Spring 集成示例
在 Spring Integration 2.0 中,我们已经将示例与主要版本发行版解耦。 请阅读以下博客以获取更多信息:新的 Spring 集成示例。 我们还创建了许多新示例,包括每个新适配器的示例。
用于 Spring 集成的 Spring Tool Suite 可视化编辑器
在最新版本的 SpringSource Tool Suite 中,包含一个令人惊叹的 Spring Integration 新可视化编辑器。 如果您还没有使用 STS,则可以在 Spring Tool Suite 中下载它。