Spring Integration 2.0 GA 版本发布!
2010-11-26 13:42
447 查看
Spring Integration 2.0 GA 于本月23日正式发布!
自2.0开发至今,Mark Fisher和他的team历时一年,这期间一个发布了7个M版本,几
乎一个半月发布一个M版本,可见SI的活跃程度非同一般。
GA版本亮点功能
点评:
一、对Spring的支持
在路由、转换组件中支持SpEL语言;
二、新增EIP模式
(1) Message History:记录消息的历史轨迹(何时被哪个组件处理过)。和M2版本
不同的是,以前这些记录是在MessageHeader中记录的,会记录下所有的历史记录,而GA版
本中可以通过模式匹配来定义只记录由哪些组件处理过的记录,而不是全部记录。
主要作用:DEBUG和审计(在分布式系统中非常重要,通过它可以查看该消息的轨迹)。
(2)Message Store:存储消息。GA版本中提供2中模式:基于VM和DB。
主要作用:可以记录消息或者消息的副本,记录的内容包括:ID,createTime和
message。在聚会模式和分组模式中可以用到。
弊端:目前这两种方式只是提供了一个简单的功能,但从稳定性(VM)和性能(DB)
上看,如果采用FILE则更好。
(3)
Control Bus:管理和监控组件。其实现机制是通过发送消息来管理和监控组件。
三、新增adapter和gateway
(1)开始支持WEB2.0,比如Twitter Adapters和Feed Adapters,WEB2.0的应用如
日中天,这是SI的又一亮点。
(2)支持传统协议XMPP 、FTP/FTPS 以及SFTP Adapters。
(3)支持云端?对云的支持只是个人的期待,但我想SI迟早有这个计划,因为目前
Mule和WSO2 ESB可以接入云端。
SI 2.0 GA版本的新功能概述
来源:http://static.springsource.org/spring-integration/docs/2.0.0.RELEASE/reference/htmlsingle/#whats-new-in-2-part
the new features of version 2.0.
Spring Integration 2.0 is built on top of Spring 3.0.5 and makes many of its features available to our users.
You can now use SpEL expressions within the transformer, router, filter,
splitter, aggregator, service-activator, header-enricher
, and many more elements of the
Spring Integration core namespace as well as various adapters.
There are many samples provided throughout this manual.
You can now benefit from Conversion Service
support provided with Spring while configuring
many Spring Integration components such as Datatype Channel
.
See Section 3.1.2, “Message Channel Implementations”
as well Section 7.3.1, “Introduction”
.
Also, the SpEL support mentioned in the previous point also relies upon the ConversionService. Therefore, you
can register Converters once, and take advantage of them anywhere you are using SpEL expressions.
Spring 3.0 defines two new strategies related to scheduling: TaskScheduler and Trigger
Spring Integration (which uses a lot of scheduling) now builds upon these. In fact, Spring Integration 1.0
had originally defined some of the components (e.g. CronTrigger) that have now been migrated into Spring 3.0's
core API. Now, you can benefit from reusing the same components within the entire Application Context (not just
Spring Integration configuration). Configuration of Spring Integration Pollers has been greatly simplified
as well by providing attributes for directly configuring rates, delays, cron expressions, and trigger references.
See Section 3.2, “Channel Adapter”
for sample configurations.
Our outbound HTTP adapters now delegate to Spring's RestTemplate for executing the HTTP request and handling its response.
This also means that you can reuse any custom HttpMessageConverter implementations.
See Section 13.3, “Http Outbound Gateway”
for more details.
Also in 2.0 we have added support for even more of the patterns described in Hohpe and Woolf's
Enterprise Integration Patterns
book.
We now provide support for the Message History
pattern allowing you to keep track of all traversed components,
including the name of each channel and endpoint as well as the
timestamp of that traversal. See Section 8.2, “Message History”
for more details.
We now provide support for the Message Store
pattern. The Message Store provides a strategy for persisting messages
on behalf of any process whose scope extends beyond a single
transaction, such as the Aggregator and Resequencer. Many sections of
this document provide samples on how to use a Message Store as it
affects several areas of Spring Integration. See Section 6.3, “Claim Check”
,
Section 3.1, “Message Channels”
, Section 5.4, “Aggregator”
, Chapter 17, JDBC Support
, and Section 5.5, “Resequencer”
for more details
We have added an implementation of the Claim Check
pattern.
The idea behind the Claim Check pattern is that you can exchange a Message payload for a "claim ticket" and vice-versa.
This allows you to reduce bandwidth and/or avoid potential security issues when sending Messages across channels.
See Section 6.3, “Claim Check”
for more details.
We have provided implementations of the Control Bus
pattern which allows you to use messaging to manage and monitor
endpoints and channels. The implementations include both a SpEL-based
approach and one that executes Groovy scripts. See Section 8.3, “Control Bus”
and Section 7.5.2, “Control Bus”
for more details.
We have added several new Channel Adapters and Messaging Gateways in Spring Integration 2.0.
We have added Channel Adapters for receiving and sending messages over the TCP and UDP internet protocols.
See Chapter 16, TCP and UDP Support
for more details. Also, you can checkout the following blog:
TCP/UDP support
Twitter adapters provides support for sending and receiving Twitter Status
updates as well as Direct Messages. You can also perform Twitter Searches with an inbound Channel Adapter.
See Chapter 22, Twitter Adapter
for more details.
The new XMPP adapters support both Chat Messages and Presence events. See Chapter 25, XMPP Support
for more details.
Inbound and outbound File transfer support over FTP/FTPS is now available. See Chapter 12, FTP/FTPS Adapters
for more details.
Inbound and outbound File transfer support over SFTP is now available. See Chapter 20, SFTP Adapters
for more details.
We have also added Channel Adapters for receiving news feeds (ATOM/RSS). See Chapter 10, Feed Adapter
for more details.
With Spring Integration 2.0 we've added Groovy support allowing you to
use Groovy scripting language to provide integration and/or business logic.
See Section 7.5, “Groovy support”
for more details.
These symmetrical transformers convert payload objects to and from a Map. See Section 6.1, “Transformer”
for more details.
These symmetrical transformers convert payload objects to and from JSON. See Section 6.1, “Transformer”
for more details.
These symmetrical transformers convert payload objects to and from byte arrays.
They also support the Serializer and Deserializer strategy interfaces that have been added as of Spring 3.0.5.
See Section 6.1, “Transformer”
for more details.
The core API went through some significant refactoring to make it simpler and more usable. Although we anticipate
that the impact to the end user should be minimal, please read through this document to find what was
changed. Especially, visit Section 5.1.3, “Dynamic Routers”
, Section 7.2, “Inbound Messaging Gateways”
, Section 13.3, “Http Outbound Gateway”
,
Section 4.1, “Message”
, and Section 5.4, “Aggregator”
for more details. If you are depending directly on some of
the core components (Message, MessageHeaders, MessageChannel, MessageBuilder, etc.), you will notice that you need to
update any import statements. We restructured some packaging to provide the flexibility we needed for extending the
domain model while avoiding any cyclical dependencies (it is a policy of the framework to avoid such "tangles").
With Spring Integration 2.0 we have switched our build environment to
use Git for source control. To access our repository simply follow this
URL: http://git.springsource.org/spring-integration
.
We have also switched our build system to Gradle
.
With Spring Integration 2.0 we have decoupled the samples from our main
release distribution. Please read this blog to get more info New Spring Integration Samples
We have also created many new samples, including samples for every new Adapter.
There is an amazing new visual editor for Spring Integration included within the latest version of SpringSource Tool Suite.
If you are not already using STS 2.5.1, please download it here:
STS
We have started working on Spring Integration ROO support, and plan to have a first milestone release soon.
You can follow its development here: Spring Integration Roo Add-on
.
自2.0开发至今,Mark Fisher和他的team历时一年,这期间一个发布了7个M版本,几
乎一个半月发布一个M版本,可见SI的活跃程度非同一般。
GA版本亮点功能
点评:
一、对Spring的支持
在路由、转换组件中支持SpEL语言;
二、新增EIP模式
(1) Message History:记录消息的历史轨迹(何时被哪个组件处理过)。和M2版本
不同的是,以前这些记录是在MessageHeader中记录的,会记录下所有的历史记录,而GA版
本中可以通过模式匹配来定义只记录由哪些组件处理过的记录,而不是全部记录。
主要作用:DEBUG和审计(在分布式系统中非常重要,通过它可以查看该消息的轨迹)。
(2)Message Store:存储消息。GA版本中提供2中模式:基于VM和DB。
主要作用:可以记录消息或者消息的副本,记录的内容包括:ID,createTime和
message。在聚会模式和分组模式中可以用到。
弊端:目前这两种方式只是提供了一个简单的功能,但从稳定性(VM)和性能(DB)
上看,如果采用FILE则更好。
(3)
Control Bus:管理和监控组件。其实现机制是通过发送消息来管理和监控组件。
三、新增adapter和gateway
(1)开始支持WEB2.0,比如Twitter Adapters和Feed Adapters,WEB2.0的应用如
日中天,这是SI的又一亮点。
(2)支持传统协议XMPP 、FTP/FTPS 以及SFTP Adapters。
(3)支持云端?对云的支持只是个人的期待,但我想SI迟早有这个计划,因为目前
Mule和WSO2 ESB可以接入云端。
SI 2.0 GA版本的新功能概述
来源:http://static.springsource.org/spring-integration/docs/2.0.0.RELEASE/reference/htmlsingle/#whats-new-in-2-part
Part I. What's new in Spring Integration 2.0
For those who are already familiar with Spring Integration, this chapter provides a brief overview ofthe new features of version 2.0.
1. What's new in Spring Integration 2.0?
1.1 Spring 3 support
Spring Integration 2.0 is built on top of Spring 3.0.5 and makes many of its features available to our users.
1.1.1 Support for the Spring Expression Language (SpEL)
You can now use SpEL expressions within the transformer, router, filter,splitter, aggregator, service-activator, header-enricher
, and many more elements of the
Spring Integration core namespace as well as various adapters.
There are many samples provided throughout this manual.
1.1.2 ConversionService and Converter
You can now benefit from Conversion Servicesupport provided with Spring while configuring
many Spring Integration components such as Datatype Channel
.
See Section 3.1.2, “Message Channel Implementations”
as well Section 7.3.1, “Introduction”
.
Also, the SpEL support mentioned in the previous point also relies upon the ConversionService. Therefore, you
can register Converters once, and take advantage of them anywhere you are using SpEL expressions.
1.1.3 TaskScheduler and Trigger
Spring 3.0 defines two new strategies related to scheduling: TaskScheduler and TriggerSpring Integration (which uses a lot of scheduling) now builds upon these. In fact, Spring Integration 1.0
had originally defined some of the components (e.g. CronTrigger) that have now been migrated into Spring 3.0's
core API. Now, you can benefit from reusing the same components within the entire Application Context (not just
Spring Integration configuration). Configuration of Spring Integration Pollers has been greatly simplified
as well by providing attributes for directly configuring rates, delays, cron expressions, and trigger references.
See Section 3.2, “Channel Adapter”
for sample configurations.
1.1.4 RestTemplate and HttpMessageConverter
Our outbound HTTP adapters now delegate to Spring's RestTemplate for executing the HTTP request and handling its response.This also means that you can reuse any custom HttpMessageConverter implementations.
See Section 13.3, “Http Outbound Gateway”
for more details.
1.2 Enterprise Integration Pattern Additions
Also in 2.0 we have added support for even more of the patterns described in Hohpe and Woolf'sEnterprise Integration Patterns
book.
1.2.1 Message History
We now provide support for the Message Historypattern allowing you to keep track of all traversed components,
including the name of each channel and endpoint as well as the
timestamp of that traversal. See Section 8.2, “Message History”
for more details.
1.2.2 Message Store
We now provide support for the Message Storepattern. The Message Store provides a strategy for persisting messages
on behalf of any process whose scope extends beyond a single
transaction, such as the Aggregator and Resequencer. Many sections of
this document provide samples on how to use a Message Store as it
affects several areas of Spring Integration. See Section 6.3, “Claim Check”
,
Section 3.1, “Message Channels”
, Section 5.4, “Aggregator”
, Chapter 17, JDBC Support
, and Section 5.5, “Resequencer”
for more details
1.2.3 Claim Check
We have added an implementation of the Claim Checkpattern.
The idea behind the Claim Check pattern is that you can exchange a Message payload for a "claim ticket" and vice-versa.
This allows you to reduce bandwidth and/or avoid potential security issues when sending Messages across channels.
See Section 6.3, “Claim Check”
for more details.
1.2.4 Control Bus
We have provided implementations of the Control Buspattern which allows you to use messaging to manage and monitor
endpoints and channels. The implementations include both a SpEL-based
approach and one that executes Groovy scripts. See Section 8.3, “Control Bus”
and Section 7.5.2, “Control Bus”
for more details.
1.3 New Channel Adapters and Gateways
We have added several new Channel Adapters and Messaging Gateways in Spring Integration 2.0.
1.3.1 TCP/UDP Adapters
We have added Channel Adapters for receiving and sending messages over the TCP and UDP internet protocols.See Chapter 16, TCP and UDP Support
for more details. Also, you can checkout the following blog:
TCP/UDP support
1.3.2 Twitter Adapters
Twitter adapters provides support for sending and receiving Twitter Statusupdates as well as Direct Messages. You can also perform Twitter Searches with an inbound Channel Adapter.
See Chapter 22, Twitter Adapter
for more details.
1.3.3 XMPP Adapters
The new XMPP adapters support both Chat Messages and Presence events. See Chapter 25, XMPP Supportfor more details.
1.3.4 FTP/FTPS Adapters
Inbound and outbound File transfer support over FTP/FTPS is now available. See Chapter 12, FTP/FTPS Adaptersfor more details.
1.3.5 SFTP Adapters
Inbound and outbound File transfer support over SFTP is now available. See Chapter 20, SFTP Adaptersfor more details.
1.3.6 Feed Adapters
We have also added Channel Adapters for receiving news feeds (ATOM/RSS). See Chapter 10, Feed Adapterfor more details.
1.4 Other Additions
1.4.1 Groovy Support
With Spring Integration 2.0 we've added Groovy support allowing you touse Groovy scripting language to provide integration and/or business logic.
See Section 7.5, “Groovy support”
for more details.
1.4.2 Map Transformers
These symmetrical transformers convert payload objects to and from a Map. See Section 6.1, “Transformer”for more details.
1.4.3 JSON Transformers
These symmetrical transformers convert payload objects to and from JSON. See Section 6.1, “Transformer”for more details.
1.4.4 Serialization Transformers
These symmetrical transformers convert payload objects to and from byte arrays.They also support the Serializer and Deserializer strategy interfaces that have been added as of Spring 3.0.5.
See Section 6.1, “Transformer”
for more details.
1.5 Framework Refactoring
The core API went through some significant refactoring to make it simpler and more usable. Although we anticipatethat the impact to the end user should be minimal, please read through this document to find what was
changed. Especially, visit Section 5.1.3, “Dynamic Routers”
, Section 7.2, “Inbound Messaging Gateways”
, Section 13.3, “Http Outbound Gateway”
,
Section 4.1, “Message”
, and Section 5.4, “Aggregator”
for more details. If you are depending directly on some of
the core components (Message, MessageHeaders, MessageChannel, MessageBuilder, etc.), you will notice that you need to
update any import statements. We restructured some packaging to provide the flexibility we needed for extending the
domain model while avoiding any cyclical dependencies (it is a policy of the framework to avoid such "tangles").
1.6 New Source Control Management and Build Infrastructure
With Spring Integration 2.0 we have switched our build environment touse Git for source control. To access our repository simply follow this
URL: http://git.springsource.org/spring-integration
.
We have also switched our build system to Gradle
.
1.7 New Spring Integration Samples
With Spring Integration 2.0 we have decoupled the samples from our mainrelease distribution. Please read this blog to get more info New Spring Integration Samples
We have also created many new samples, including samples for every new Adapter.
1.8 SpringSource Tool Suite Visual Editor for Spring Integration
There is an amazing new visual editor for Spring Integration included within the latest version of SpringSource Tool Suite.If you are not already using STS 2.5.1, please download it here:
STS
1.9 Upcoming Spring Integration ROO support
We have started working on Spring Integration ROO support, and plan to have a first milestone release soon.You can follow its development here: Spring Integration Roo Add-on
.
相关文章推荐
- app advice:苹果iOS 2.0 – iOS 8.0各版本发布时间表
- iTerm2 2.0版本已发布,添加大量新功能,更易于使用
- IbatisNet支持2.0的版本Release 发布了
- 源代码管理软件CodeHelp发布2.0版本
- JEECG Framework 3.4.3 GA 版本发布
- OpenFaces 3.0 最终版本发布,支持JSF2.0
- 基于 Webpack2、Vue2、iView2 的可视化脚手架 iView Cli 发布 2.0 版本
- Apache Struts 2 GA 版本发布(学struts的一定要看!)
- IbatisNet支持2.0的版本Release 发布了
- 【更新】AppCan发布V3.2.0版本
- 【Phylab2.0】Beta版本发布说明
- Mybatis分页插件2.0版本发布
- Android Studio 2.0 Preview发布Instant Run功能(内附:AS 2.0Preview 导入以前版本的设置)
- Porteus 2.0 RC1 发布,轻量级 Linux 版本
- w5cValidator【AngularJS】 2.0 版本发布
- 最新Apache Struts 2 GA官方推荐版本释放发布
- 承影时间管理器2007-1(内部版本2.0)发布
- 何为软件的Alpha、Beta、RC和GA发布版本?
- 微软即将正式发布Bing 2.0版本