Changes between 1.0 and 2.0 For a detailed migration guide in regards to upgrading an existing application that uses Spring Integration older than version 2.0, please see:
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.
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.
ConversionService and Converter You can now benefit from Conversion Service support provided with Spring while configuring many Spring Integration components such as Datatype Channel. See as well . 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.
TaskScheduler and Trigger 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 for sample configurations.
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 for more details.
Enterprise Integration Pattern Additions Also in 2.0 we have added support for even more of the patterns described in Hohpe and Woolf's Enterprise Integration Patterns book.
Message History 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 for more details.
Message Store 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 , , , , , and for more details
Claim Check 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 for more details.
Control Bus 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 and for more details.
New Channel Adapters and Gateways We have added several new Channel Adapters and Messaging Gateways in Spring Integration 2.0.
TCP/UDP Adapters We have added Channel Adapters for receiving and sending messages over the TCP and UDP internet protocols. See for more details. Also, you can checkout the following blog: TCP/UDP support
Twitter Adapters 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 for more details.
XMPP Adapters The new XMPP adapters support both Chat Messages and Presence events. See for more details.
FTP/FTPS Adapters Inbound and outbound File transfer support over FTP/FTPS is now available. See for more details.
SFTP Adapters Inbound and outbound File transfer support over SFTP is now available. See for more details.
Feed Adapters We have also added Channel Adapters for receiving news feeds (ATOM/RSS). See for more details.
Other Additions
Groovy Support 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 for more details.
Map Transformers These symmetrical transformers convert payload objects to and from a Map. See for more details.
JSON Transformers These symmetrical transformers convert payload objects to and from JSON. See for more details.
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 for more details.
Framework Refactoring 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 , , , , and 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").
New Source Control Management and Build Infrastructure 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.
New Spring Integration Samples 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.
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, please download it here: