1.0 和 2.0 版本之间的更改
请参阅 迁移指南 ,了解可能影响您应用程序的重要更改。
Spring 3 支持
Spring Integration 2.0 是构建在 Spring 3.0.5 之上,并使其许多功能可供我们的用户使用。
[[2.0-SpEL支持]] === 支持 Spring 表达式语言 (SpEL)
你现在可以在转换器、路由器、过滤器、拆分器、聚合器、服务激活器、报头富集器等 Spring Integration 核心命名空间的多个元素以及各种适配器中使用 SpEL 表达式。本指南包含许多示例。
转换服务和转换器
你现在可以利用 Spring 提供的转换服务支持,来配置许多 Spring Integration 组件,例如 Datatype channel。请参阅 消息通道实现 和 服务激活器。此外,前一点提到的 SpEL 支持也依赖于转换服务。因此,你可以注册一次转换器,并在使用 SpEL 表达式的任何地方利用它们。
TaskScheduler
和 Trigger
Spring 3.0 定义了两个与调度相关的新策略:TaskScheduler
和 Trigger
。Spring Integration(它使用了大量的调度功能)现在基于这些新特性进行了构建。实际上,Spring Integration 1.0 最初定义了一些组件(例如 CronTrigger
),这些组件现在已经迁移到 Spring 3.0 的核心 API 中。现在,你可以在整个应用程序上下文中重用相同的组件(而不仅仅是 Spring Integration 配置)。我们还大大简化了 Spring Integration 轮询器的配置,通过提供直接配置速率、延迟、cron 表达式和触发器引用的属性。有关示例配置,请参阅 Channel Adapter。
RestTemplate
和 HttpMessageConverter
我们的出站 HTTP 适配器现在委托给 Spring 的 RestTemplate
来执行 HTTP 请求并处理其响应。这也意味着你可以重用任何自定义的 HttpMessageConverter
实现。更多详情请参阅 HTTP 出站组件。
企业集成模式新增内容
同样在 2.0 中,我们增加了对 Hohpe 和 Woolf 的《企业集成模式》书中描述的更多模式的支持。
消息历史
消息存储
索赔检查
我们添加了对 claim check 模式的实现。claim check 模式背后的思想是,你可以将消息有效负载交换为一个 “claim ticket” 。这使你可以在跨渠道发送消息时减少带宽并避免潜在的安全问题。详情请参阅 Claim Check。
控制总线
我们提供了控制总线模式的实现,这使你可以使用消息传递来管理和监控端点和通道。实现包括基于 SpEL 的方法和运行 Groovy 脚本的方法。有关更多详细信息,请参阅 Control Bus。
新的通道适配器和网关
我们在 Spring Integration 2.0 中添加了几个新的通道适配器和消息网关。
TCP 和 UDP 适配器
我们已经添加了通道适配器,用于通过 TCP 和 UDP 互联网协议接收和发送消息。详情请参阅 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 适配器。
数据源适配器
我们还添加了用于接收新闻源(ATOM 和 RSS)的通道适配器。详情请参阅 Feed Adapter。
其他添加内容
Spring Integration 添加了许多其他功能。本节将对这些功能进行描述。
Groovy 支持
Spring Integration 2.0 增加了对 Groovy 的支持,让你可以使用 Groovy 脚本语言来提供集成和业务逻辑。详情请参阅 Groovy 支持。
地图转换器
这些对称的转换器将有效负载对象转换为 Map
对象,反之亦然。详情请参阅 Transformer。
JSON 转换器
这些对称变压器将有效负载对象转换为 JSON 格式,或将 JSON 转换为有效负载对象。详情请参阅 Transformer。
序列化转换器
这些对称的转换器将有效负载对象转换为字节数组,反之亦然。它们还支持 Spring 3.0.5 添加的序列化程序和反序列化程序策略接口。有关更多详细信息,请参阅 Transformer。
框架重构
新的源代码控制管理和构建基础设施
从 Spring Integration 2.0 开始,我们将构建环境切换到使用 Git 进行源代码控制。要访问我们的仓库,请访问 git.springsource.org/spring-integration。我们还把构建系统切换到了 Gradle。
新的 Spring Integration 示例
从 Spring Integration 2.0 开始,我们已经将示例与我们的主要发行版分离开来。请阅读以下博客以获取更多信息:新的 Spring Integration 示例。我们还创建了许多新的示例,包括为每个新适配器编写的示例。
Spring Tool Suite Visual Editor for Spring Integration
在最新版本的 SpringSource Tool Suite 中包含了一个令人惊叹的新视觉编辑器,用于 Spring Integration。如果您还没有使用 STS,您可以从 Spring Tool Suite 下载它。