INT-1607 polished the what's new section

This commit is contained in:
Mark Fisher
2010-11-22 16:35:48 -05:00
parent 93e362c5f1
commit 878d3e21e2

View File

@@ -2,21 +2,21 @@
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="whats-new-in-2"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>What's new in Spring Integration 2.0</title>
<title>What's new in Spring Integration 2.0?</title>
<section id="spring-30-support">
<title>Spring 3 support</title>
<para>
Spring Integration 2.0 is built on top of Spring 3.0.5 and uses many new features of Spring 3
Spring Integration 2.0 is built on top of Spring 3.0.5 and makes many of its features available to our users.
</para>
<section id="spel-support">
<title>Support for Spring Expression Language (SpEL)</title>
<title>Support for the Spring Expression Language (SpEL)</title>
<para>
You can now use SpEL expressions within the <emphasis> transformer, router, filter,
splitter, aggregator, service-activator</emphasis>, and many more elements of the
You can now use SpEL expressions within the <emphasis>transformer, router, filter,
splitter, aggregator, service-activator, header-enricher</emphasis>, and many more elements of the
Spring Integration core namespace as well as various adapters.
There are many samples provided throughout this document.
There are many samples provided throughout this manual.
</para>
</section>
@@ -25,18 +25,22 @@
<para>
You can now benefit from <emphasis>Conversion Service</emphasis> support provided with Spring while configuring
many Spring Integration components such as <ulink url="http://www.eaipatterns.com/DatatypeChannel.html">Datatype Channel</ulink>.
See <xref linkend="channel-implementations"/> as well <xref linkend="service-activator-introduction"/>
See <xref linkend="channel-implementations"/> as well <xref linkend="service-activator-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.
</para>
</section>
<section id="task-scheduler-poller-support">
<title>TaskScheduler, Trigger and Poller</title>
<title>TaskScheduler and Trigger</title>
<para>
<emphasis>TaskScheduler, Trigger and Executor</emphasis> support that was provided with Spring Integration 1.0 was
moved to Spring 3 core API and you can now benefit from reusing the same components within the entire
Application Context (not just Spring Integration configuration). Configuration of Poller was greatly simplified
as well by providing attributes for to directly configure rates, triggers and delays. See
<xref linkend="channel-adapter"/> for sample configuration.
Spring 3.0 defines two new strategies related to scheduling: <emphasis>TaskScheduler and Trigger</emphasis>
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 <xref linkend="channel-adapter"/> for sample configurations.
</para>
</section>
@@ -44,6 +48,7 @@
<title>RestTemplate and HttpMessageConverter</title>
<para>
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 <xref linkend="http-outbound"/> for more details.
</para>
</section>
@@ -59,30 +64,27 @@
<section id="new-message-history">
<title>Message History</title>
<para>
We've provided implementation for the <ulink url="http://www.eaipatterns.com/MessageHistory.html">Message History</ulink> pattern
allowing us
to keep track of all traversed components, including the name of each channel and endpoint as well as the timestamp
of that traversal. See <xref linkend="message-history"/> for more details.
We now provide support for the <ulink url="http://www.eaipatterns.com/MessageHistory.html">Message History</ulink> 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 <xref linkend="message-history"/> for more details.
</para>
</section>
<section id="new-message-store">
<title>Message Store</title>
<para>
We've provided implementation for the <ulink url="http://www.eaipatterns.com/MessageStore.html">Message Store</ulink> pattern.
The Message Store
provides a way to persist messages for any process that might take too long to happen in a single
transaction. Many sections of this document provide samples on how to use Message Store as it
We now provide support for the <ulink url="http://www.eaipatterns.com/MessageStore.html">Message Store</ulink> 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 <xref linkend="claim-check"/>,
<xref linkend="channel"/>, <xref linkend="aggregator"/>, <xref linkend="jdbc"/>, <xref linkend="resequencer"/> for more details
<xref linkend="channel"/>, <xref linkend="aggregator"/>, <xref linkend="jdbc"/>, and <xref linkend="resequencer"/> for more details
</para>
</section>
<section id="new-claim-check">
<title>Claim Check</title>
<para>
We've provided implementation for the <ulink url="http://www.eaipatterns.com/StoreInLibrary.html">Claim Check</ulink> pattern.
We have added an implementation of the <ulink url="http://www.eaipatterns.com/StoreInLibrary.html">Claim Check</ulink> 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 <xref linkend="claim-check"/> for more details.
@@ -92,10 +94,10 @@
<section id="new-control-bus">
<title>Control Bus</title>
<para>
We've provided implementation for the <ulink url="http://www.eaipatterns.com/ControlBus.html">Control Bus</ulink> pattern which
allows you to use messaging to manage and monitor endpoints and channels.
See <xref linkend="control-bus"/> for more details.
We have provided implementations of the <ulink url="http://www.eaipatterns.com/ControlBus.html">Control Bus</ulink> 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 <xref linkend="control-bus"/> and <xref linkend="groovy-control-bus"/> for more details.
</para>
</section>
@@ -104,53 +106,53 @@
<section id="new-adapters">
<title>New Channel Adapters and Gateways</title>
<para>
We have added several new Channel Adapters and Messaging Gateways in Spring Integration 2.0
We have added several new Channel Adapters and Messaging Gateways in Spring Integration 2.0.
</para>
<section id="new-ip">
<title>TCP/UDP Adapters</title>
<para>
We have added Channel Adapters for receiving and sending messages over the TCP and UDP internet protocols.
See <xref linkend="ip"/> for more details. Also, you can checkout the following blog:
<ulink url="http://blog.springsource.com/2010/03/29/using-udp-and-tcp-adapters-in-spring-integration-2-0-m3/">TCP/UDP support</ulink>
</para>
</section>
<section id="new-twitter">
<title>Twitter Adapters</title>
<para>
Twitter adapters provides support for sending and receiving Twitter Status
updates as well as Direct Twitter Messages and perform Twitter Searches. See <xref linkend="twitter"/> for more details.
updates as well as Direct Messages. You can also perform Twitter Searches with an inbound Channel Adapter.
See <xref linkend="twitter"/> for more details.
</para>
</section>
<section id="new-xmpp">
<title>XMPP Adapters</title>
<para>
We've also added support for XMPP Messaging and Presence. See <xref linkend="xmpp"/> for more details.
The new XMPP adapters support both Chat Messages and Presence events. See <xref linkend="xmpp"/> for more details.
</para>
</section>
<section id="new-ftp">
<title>FTP/FTPS Adapters</title>
<para>
File transfer support over FTP/FTPS has been added through FTP/FTPS adapters. See <xref linkend="ftp"/> for more details.
Inbound and outbound File transfer support over FTP/FTPS is now available. See <xref linkend="ftp"/> for more details.
</para>
</section>
<section id="new-sftp">
<title>SFTP Adapters</title>
<para>
File transfer support over SFTP has been added through SFTP adapters. See <xref linkend="sftp"/> for more details.
Inbound and outbound File transfer support over SFTP is now available. See <xref linkend="sftp"/> for more details.
</para>
</section>
<section id="new-ip">
<title>TCP/UDP Adapters</title>
<para>
We've added Channel Adapters for receiving and sending messages over internet protocols (TCP/UDP). See <xref linkend="ip"/>
for more details.
More information provided in the following blog:
<ulink url="http://blog.springsource.com/2010/03/29/using-udp-and-tcp-adapters-in-spring-integration-2-0-m3/">TCP/UDP support</ulink>
</para>
</section>
<section id="new-feed">
<title>Feed Adapters</title>
<para>
We've added Channel Adapters for receiving news feeds (ATOM/RSS). See <xref linkend="feed"/> for more details.
We have also added Channel Adapters for receiving news feeds (ATOM/RSS). See <xref linkend="feed"/> for more details.
</para>
</section>
</section>
@@ -162,28 +164,31 @@
<title>Groovy Support</title>
<para>
With Spring Integration 2.0 we've added Groovy support allowing you to
use Groovy scripting language to provide integration and business logic. See <xref linkend="groovy"/> for more details.
use Groovy scripting language to provide integration and/or business logic.
See <xref linkend="groovy"/> for more details.
</para>
</section>
<section id="new-map-xfmr">
<section id="new-map-transformer">
<title>Map Transformers</title>
<para>
These symmetrical transformers convert payload objects to/from a Map. See <xref linkend="transformer"/> for more details.
These symmetrical transformers convert payload objects to and from a Map. See <xref linkend="transformer"/> for more details.
</para>
</section>
<section id="new-json-xfmr">
<section id="new-json-transformer">
<title>JSON Transformers</title>
<para>
These symmetrical transformers convert payload objects to/from JSON. See <xref linkend="transformer"/> for more details.
These symmetrical transformers convert payload objects to and from JSON. See <xref linkend="transformer"/> for more details.
</para>
</section>
<section id="new-serialize-xfmr">
<section id="new-serialize-transformer">
<title>Serialization Transformers</title>
<para>
These symmetrical transformers convert payload objects to/from byte arrays. See <xref linkend="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 <xref linkend="transformer"/> for more details.
</para>
</section>
@@ -192,28 +197,31 @@
<section id="new-refactoring">
<title>Framework Refactoring</title>
<para>
ore API went through a major refactoring to make it simpler and more usable and although we anticipate
that the impact to the end user should be minimal please read through this document to find what was
changed especially. See <xref linkend="dynamic-routers"/> , <xref linkend="gateway"/>, <xref linkend="http-outbound"/>,
<xref linkend="message"/>, <xref linkend="aggregator"/> 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 <xref linkend="dynamic-routers"/> , <xref linkend="gateway"/>, <xref linkend="http-outbound"/>,
<xref linkend="message"/>, and <xref linkend="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").
</para>
</section>
<section id="new-infrustructure">
<title>New SCM and Build Infrustructure</title>
<section id="new-infrastructure">
<title>New Source Control Management and Build Infrastructure</title>
<para>
With Spring Integration 2.0 we've switched our build environment to use Git as SCM. To access our repository simply follow this URL:
<ulink url="http://git.springsource.org/+spring-integration">http://git.springsource.org/+spring-integration</ulink>.
Our build system was switched to <ulink url="http://gradle.org/">Gradle</ulink>.
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:
<ulink url="http://git.springsource.org/spring-integration">http://git.springsource.org/spring-integration</ulink>.
We have also switched our build system to <ulink url="http://gradle.org/">Gradle</ulink>.
</para>
</section>
<section id="new-samples">
<title>New Spring Integration Samples</title>
<para>
With Spring Integration 2.0 we've changed the distribution of our samples. Please read this blog to get more info
With Spring Integration 2.0 we have decoupled the samples from our main release distribution. Please read this blog to get more info
<ulink url="http://blog.springsource.com/2010/09/29/new-spring-integration-samples/">New Spring Integration Samples</ulink>
We alos created many new samples, including samples for every new Adapter.
We have also created many new samples, including samples for every new Adapter.
</para>
</section>
@@ -221,17 +229,17 @@
<title>SpringSource Tool Suite Visual Editor for Spring Integration</title>
<para>
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
If you are not already using STS 2.5.1, please download it here:
<ulink url="http://www.springsource.com/landing/best-development-tool-enterprise-java">STS</ulink>
</para>
</section>
<section id="new-si-roo">
<title>Upcomming Spring Integration ROO support</title>
<title>Upcoming Spring Integration ROO support</title>
<para>
We've began working on Spring Integration ROO support which will be available with Spring Integration 2.0.1.
We have started working on Spring Integration ROO support, and plan to have a first milestone release soon.
You can follow its development here: <ulink url="https://jira.springframework.org/browse/INTROO">Spring Integration Roo Add-on</ulink>.
</para>
</section>
</chapter>