INT-2195 - Add 'What's new in 2.1' to docs
For reference see: https://jira.springsource.org/browse/INT-2195
This commit is contained in:
committed by
Mark Fisher
parent
e20c0e0efa
commit
c348f8c3fb
247
docs/src/reference/docbook/changes-1.0-2.0.xml
Normal file
247
docs/src/reference/docbook/changes-1.0-2.0.xml
Normal file
@@ -0,0 +1,247 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="migration-1.0-2.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Changes between 1.0 and 2.0</title>
|
||||
|
||||
<para>
|
||||
For a detailed migration guide in regards to upgrading an existing application
|
||||
that uses Spring Integration older than version 2.0, please see:
|
||||
</para>
|
||||
<para>
|
||||
<ulink url="http://www.springsource.org/node/2976"/>
|
||||
</para>
|
||||
<section id="migration-spring-30-support">
|
||||
<title>Spring 3 support</title>
|
||||
<para>
|
||||
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 the Spring Expression Language (SpEL)</title>
|
||||
<para>
|
||||
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 manual.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="conversion-support">
|
||||
<title>ConversionService and Converter</title>
|
||||
<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"/>.
|
||||
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 and Trigger</title>
|
||||
<para>
|
||||
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>
|
||||
|
||||
<section id="rest-support">
|
||||
<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>
|
||||
</section>
|
||||
|
||||
<section id="new-eip">
|
||||
<title>Enterprise Integration Pattern Additions</title>
|
||||
<para>
|
||||
Also in 2.0 we have added support for even more of the patterns described in Hohpe and Woolf's
|
||||
<ulink url="http://www.eaipatterns.com/">Enterprise Integration Patterns</ulink> book.
|
||||
</para>
|
||||
|
||||
<section id="new-message-history">
|
||||
<title>Message History</title>
|
||||
<para>
|
||||
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 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"/>, and <xref linkend="resequencer"/> for more details
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-claim-check">
|
||||
<title>Claim Check</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-control-bus">
|
||||
<title>Control Bus</title>
|
||||
<para>
|
||||
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>
|
||||
|
||||
</section>
|
||||
|
||||
<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.
|
||||
</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 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>
|
||||
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>
|
||||
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>
|
||||
Inbound and outbound File transfer support over SFTP is now available. See <xref linkend="sftp"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-feed">
|
||||
<title>Feed Adapters</title>
|
||||
<para>
|
||||
We have also added Channel Adapters for receiving news feeds (ATOM/RSS). See <xref linkend="feed"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="new-other">
|
||||
<title>Other Additions</title>
|
||||
|
||||
<section id="new-groovy">
|
||||
<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/or business logic.
|
||||
See <xref linkend="groovy"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-map-transformer">
|
||||
<title>Map Transformers</title>
|
||||
<para>
|
||||
These symmetrical transformers convert payload objects to and from a Map. See <xref linkend="transformer"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-json-transformer">
|
||||
<title>JSON Transformers</title>
|
||||
<para>
|
||||
These symmetrical transformers convert payload objects to and from JSON. See <xref linkend="transformer"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-serialize-transformer">
|
||||
<title>Serialization Transformers</title>
|
||||
<para>
|
||||
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>
|
||||
|
||||
</section>
|
||||
|
||||
<section id="new-refactoring">
|
||||
<title>Framework Refactoring</title>
|
||||
<para>
|
||||
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-infrastructure">
|
||||
<title>New Source Control Management and Build Infrastructure</title>
|
||||
<para>
|
||||
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 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 have also created many new samples, including samples for every new Adapter.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-sts">
|
||||
<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, please download it here:
|
||||
</para>
|
||||
<para>
|
||||
<ulink url="http://www.springsource.com/landing/best-development-tool-enterprise-java"/>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
9
docs/src/reference/docbook/changes-2.0-2.1.xml
Normal file
9
docs/src/reference/docbook/changes-2.0-2.1.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="migration-2.0-2.1"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Changes between 2.0 and 2.1</title>
|
||||
<para>
|
||||
For an overview of the changes in Spring Integration 2.1 since version 2.0,
|
||||
please see <xref linkend="whats-new"/>.
|
||||
</para>
|
||||
</section>
|
||||
10
docs/src/reference/docbook/history.xml
Normal file
10
docs/src/reference/docbook/history.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="history"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>Change History</title>
|
||||
|
||||
<xi:include href="./changes-1.0-2.0.xml"/>
|
||||
<xi:include href="./changes-2.0-2.1.xml"/>
|
||||
|
||||
</appendix>
|
||||
@@ -70,15 +70,20 @@
|
||||
|
||||
<xi:include href="./preface.xml"/>
|
||||
|
||||
<part id="whats-new-in-2-part">
|
||||
<title>What's new in Spring Integration 2.0</title>
|
||||
<part id="whats-new-part">
|
||||
<title>What's new?</title>
|
||||
<partintro id="spring-integration-intro">
|
||||
<para>
|
||||
For those who are already familiar with Spring Integration, this chapter provides a brief overview of
|
||||
the new features of version 2.0.
|
||||
<para>
|
||||
For those who are already familiar with Spring Integration, this chapter
|
||||
provides a brief overview of the new features of version 2.1. If you are
|
||||
interested in the changes and features, that were introduced in earlier
|
||||
versions, please take a look at chapter:
|
||||
|
||||
<xref linkend="history"/>
|
||||
|
||||
</para>
|
||||
</partintro>
|
||||
<xi:include href="./whats-new-in-2.xml"/>
|
||||
<xi:include href="./whats-new.xml"/>
|
||||
</part>
|
||||
|
||||
<part id="spring-integration-introduction">
|
||||
@@ -154,5 +159,6 @@
|
||||
<xi:include href="./samples.xml"/>
|
||||
<xi:include href="./configuration.xml"/>
|
||||
<xi:include href="./resources.xml"/>
|
||||
<xi:include href="./history.xml"/>
|
||||
</part>
|
||||
</book>
|
||||
|
||||
@@ -1,245 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
|
||||
<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 makes many of its features available to our users.
|
||||
</para>
|
||||
|
||||
<section id="spel-support">
|
||||
<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, 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 manual.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="conversion-support">
|
||||
<title>ConversionService and Converter</title>
|
||||
<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"/>.
|
||||
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 and Trigger</title>
|
||||
<para>
|
||||
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>
|
||||
|
||||
<section id="rest-support">
|
||||
<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>
|
||||
</section>
|
||||
|
||||
<section id="new-eip">
|
||||
<title>Enterprise Integration Pattern Additions</title>
|
||||
<para>
|
||||
Also in 2.0 we have added support for even more of the patterns described in Hohpe and Woolf's
|
||||
<ulink url="http://www.eaipatterns.com/">Enterprise Integration Patterns</ulink> book.
|
||||
</para>
|
||||
|
||||
<section id="new-message-history">
|
||||
<title>Message History</title>
|
||||
<para>
|
||||
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 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"/>, and <xref linkend="resequencer"/> for more details
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-claim-check">
|
||||
<title>Claim Check</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-control-bus">
|
||||
<title>Control Bus</title>
|
||||
<para>
|
||||
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>
|
||||
|
||||
</section>
|
||||
|
||||
<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.
|
||||
</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 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>
|
||||
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>
|
||||
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>
|
||||
Inbound and outbound File transfer support over SFTP is now available. See <xref linkend="sftp"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-feed">
|
||||
<title>Feed Adapters</title>
|
||||
<para>
|
||||
We have also added Channel Adapters for receiving news feeds (ATOM/RSS). See <xref linkend="feed"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="new-other">
|
||||
<title>Other Additions</title>
|
||||
|
||||
<section id="new-groovy">
|
||||
<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/or business logic.
|
||||
See <xref linkend="groovy"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-map-transformer">
|
||||
<title>Map Transformers</title>
|
||||
<para>
|
||||
These symmetrical transformers convert payload objects to and from a Map. See <xref linkend="transformer"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-json-transformer">
|
||||
<title>JSON Transformers</title>
|
||||
<para>
|
||||
These symmetrical transformers convert payload objects to and from JSON. See <xref linkend="transformer"/> for more details.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-serialize-transformer">
|
||||
<title>Serialization Transformers</title>
|
||||
<para>
|
||||
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>
|
||||
|
||||
</section>
|
||||
|
||||
<section id="new-refactoring">
|
||||
<title>Framework Refactoring</title>
|
||||
<para>
|
||||
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-infrastructure">
|
||||
<title>New Source Control Management and Build Infrastructure</title>
|
||||
<para>
|
||||
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 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 have also created many new samples, including samples for every new Adapter.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-sts">
|
||||
<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:
|
||||
<ulink url="http://www.springsource.com/landing/best-development-tool-enterprise-java">STS</ulink>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="new-si-roo">
|
||||
<title>Upcoming Spring Integration ROO support</title>
|
||||
<para>
|
||||
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>
|
||||
325
docs/src/reference/docbook/whats-new.xml
Normal file
325
docs/src/reference/docbook/whats-new.xml
Normal file
@@ -0,0 +1,325 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="whats-new"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>What's new in Spring Integration 2.1?</title>
|
||||
<para>
|
||||
This chapter provides an overview of the new features and improvements
|
||||
that have been introduced with Spring Integration 2.1 If you are interested
|
||||
in even more detail, please take a look at the Issue Tracker tickets that
|
||||
were resolved as part of the 2.1 development process:
|
||||
</para>
|
||||
|
||||
<para><ulink url="https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10121&version=11668">Release Notes for Spring Integration 2.1 M1</ulink></para>
|
||||
<para><ulink url="https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10121&version=12200">Release Notes for Spring Integration 2.1 M2</ulink></para>
|
||||
<para><ulink url="https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10121&version=12640">Release Notes for Spring Integration 2.1 M3</ulink></para>
|
||||
|
||||
<section id="2.1-new-components">
|
||||
<title>New Components</title>
|
||||
<section id="2.1-new-scripting-support">
|
||||
<title>JSR-223 Scripting Support</title>
|
||||
<para>
|
||||
In Spring Integration 2.0, support for
|
||||
<ulink url="http://groovy.codehaus.org/">Groovy</ulink> was added. With
|
||||
Spring Integration 2.1 we expanded support for additional languages
|
||||
substantially by implementing support for
|
||||
<ulink url="http://www.jcp.org/en/jsr/detail?id=223">JSR-223</ulink>
|
||||
(Scripting for the Java™ Platform). Now you have the
|
||||
ability to use any scripting language that supports JSR-223 including:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>Javascript</listitem>
|
||||
<listitem>Ruby/JRuby</listitem>
|
||||
<listitem>Python/Jython</listitem>
|
||||
<listitem>Groovy</listitem>
|
||||
</itemizedlist>
|
||||
<para>
|
||||
For further details please see <xref linkend="scripting"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-gemfire-support">
|
||||
<title>GemFire Support</title>
|
||||
<para>
|
||||
Spring Integration provides support for
|
||||
<ulink url="http://www.vmware.com/products/vfabric-gemfire/overview.html">GemFire</ulink> by providing
|
||||
inbound adapters for entry and continuous query events, an outbound
|
||||
adapter to write entries to the cache, and
|
||||
<ulink url="http://static.springsource.org/spring-integration/api/org/springframework/integration/store/MessageStore.html">
|
||||
<interfacename>MessageStore</interfacename></ulink> and
|
||||
<ulink url="http://static.springsource.org/spring-integration/api/org/springframework/integration/store/MessageGroupStore.html">
|
||||
<interfacename>MessageGroupStore</interfacename></ulink>
|
||||
implementations. Spring integration leverages
|
||||
the <ulink url="http://www.springsource.org/spring-gemfire"><emphasis>Spring Gemfire</emphasis></ulink> project, providing a thin wrapper over its
|
||||
components.
|
||||
</para>
|
||||
<para>
|
||||
For further details please see <xref linkend="gemfire"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-amqp-support">
|
||||
<title>AMQP Support</title>
|
||||
<para>
|
||||
Spring Integration 2.1 adds several Channel Adapters for receiving and
|
||||
sending messages using the
|
||||
<ulink url="http://www.amqp.org/"><emphasis>Advanced Message Queuing Protocol</emphasis></ulink> (AMQP).
|
||||
Furthermore, Spring Integration also provides a point-to-point
|
||||
Message Channel, as well as a publish/subscribe Message Channel
|
||||
that are backed by AMQP Exchanges and Queues.
|
||||
</para>
|
||||
<para>
|
||||
For further details please see <xref linkend="amqp"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-mongodb-support">
|
||||
<title>MongoDB Support</title>
|
||||
<para>
|
||||
As of version 2.1 Spring Integration provides support for
|
||||
<ulink url="http://www.mongodb.org/">MongoDB</ulink>
|
||||
by providing a MongoDB-based MessageStore.
|
||||
</para>
|
||||
<para>
|
||||
For further details please see <xref linkend="mongodb"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-redis-support">
|
||||
<title>Redis Support</title>
|
||||
<para>
|
||||
As of version 2.1 Spring Integration supports
|
||||
<ulink url="http://redis.io/">Redis</ulink>, an advanced key-value
|
||||
store, by providing a Redis-based MessageStore as well as
|
||||
Publish-Subscribe Messaging adapters.
|
||||
</para>
|
||||
<para>
|
||||
For further details please see <xref linkend="redis"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-stored-proc-support">
|
||||
<title>Stored Procedure Components</title>
|
||||
<para>
|
||||
With Spring Integration 2.1, the <code>JDBC</code> Module also provides
|
||||
Stored Procedure support by adding several new components, including
|
||||
inbound/outbound channel adapters and an Outbound Gateway. The Stored
|
||||
Procedure support leverages Spring's
|
||||
<ulink url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcCall.html"><classname>SimpleJdbcCall</classname></ulink>
|
||||
class and consequently supports stored procedures for:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>Apache Derby</listitem>
|
||||
<listitem>DB2</listitem>
|
||||
<listitem>MySQL</listitem>
|
||||
<listitem>Microsoft SQL Server</listitem>
|
||||
<listitem>Oracle</listitem>
|
||||
<listitem>PostgreSQL</listitem>
|
||||
<listitem>Sybase</listitem>
|
||||
</itemizedlist>
|
||||
<para>
|
||||
The Stored Procedure components also support Sql Functions for
|
||||
the following databases:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>MySQL</listitem>
|
||||
<listitem>Microsoft SQL Server</listitem>
|
||||
<listitem>Oracle</listitem>
|
||||
<listitem>PostgreSQL</listitem>
|
||||
</itemizedlist>
|
||||
<para>
|
||||
For further details please see <xref linkend="stored-procedures"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-xpath-filter-support">
|
||||
<title>XPath and XML Validating Filter</title>
|
||||
<para>
|
||||
Spring Integration 2.1 provides a new XPath-based Message Filter,
|
||||
that is part of the <code>XML</code> module. The XPath Filter
|
||||
allows you to filter messages using provided XPath Expressions.
|
||||
|
||||
Furthermore, documentation was added for the XML Validating Filter.
|
||||
</para>
|
||||
<para>
|
||||
For more details please see <xref linkend="xml-xpath-filter"/>
|
||||
and <xref linkend="xml-validating-filter"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-payload-enricher-support">
|
||||
<title>Payload Enricher</title>
|
||||
<para>
|
||||
Since Spring Integration 2.1, the Payload Enricher is provided. A
|
||||
Payload Enricher defines an endpoint that typically passes a
|
||||
<ulink url="http://static.springsource.org/spring-integration/api/org/springframework/integration/Message.html"><interfacename>Message</interfacename></ulink>
|
||||
to the exposed request channel and then expects a reply message.
|
||||
The reply message then becomes the root object for evaluation of
|
||||
expressions to enrich the target payload.
|
||||
</para>
|
||||
<para>
|
||||
For further details please see <xref linkend="payload-enricher"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-ftp-outbound-gateway">
|
||||
<title>FTP and SFTP Outbound Gateways</title>
|
||||
<para>
|
||||
Spring Integration 2.1 provides two new Outbound Gateways in order
|
||||
to interact with remote File Transfer Protocol (FTP) or
|
||||
Secure File Transfer Protocol (SFT) servers. These two gateways allow
|
||||
you to directly execute a limited set of remote commands.
|
||||
</para>
|
||||
<para>
|
||||
For instance, you can use these Outbound Gateways to list, retrieve and
|
||||
delete remote files and have the Spring Integration message flow
|
||||
continue with the remote server's response.
|
||||
</para>
|
||||
<para>
|
||||
For further details please see <xref linkend="ftp-outbound-gateway"/>
|
||||
and <xref linkend="sftp-outbound-gateway"/>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-new-ftp-session-caching">
|
||||
<title>FTP Session Caching</title>
|
||||
<para>
|
||||
As of version 2.1, we have exposed more flexibility with regards to
|
||||
session management for remote file adapters (e.g., FTP, SFTP etc).
|
||||
</para>
|
||||
<para>
|
||||
Specifically, the <code>cache-sessions</code> attribute, which is
|
||||
available via the XML namespace support, is now
|
||||
<emphasis>deprecated</emphasis>. Alternatively, we added the
|
||||
<code>sessionCacheSize</code> and <code>sessionWaitTimeout</code>
|
||||
attributes on the <classname>CachingSessionFactory</classname>.
|
||||
</para>
|
||||
<para>
|
||||
For further details please see <xref linkend="ftp-session-caching"/>
|
||||
and <xref linkend="sftp-session-caching"/>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
<section id="2.1-framework-refactorings">
|
||||
<title>Framework Refactoring</title>
|
||||
<section id="2.1-router-standardization">
|
||||
<title>Standardizing Router Configuration</title>
|
||||
<para>
|
||||
Router parameters have been standardized across all router
|
||||
implementations with Spring Integration 2.1 providing a more
|
||||
consistent user experience.
|
||||
</para>
|
||||
<para>
|
||||
With Spring Integration 2.1 the <code>ignore-channel-name-resolution-failures</code>
|
||||
attribute has been removed in favor of consolidating its behavior
|
||||
with the <code>resolution-required</code> attribute. Also,
|
||||
the <code>resolution-required</code> attribute now defaults to <code>true</code>.
|
||||
</para>
|
||||
<para>
|
||||
Starting with Spring Integration 2.1, routers will no longer silently
|
||||
drop any messages, if no default output channel was defined. This means,
|
||||
that by default routers now require at least one resolved channel (if no
|
||||
<code>default-output-channel</code> was set) and
|
||||
by default will throw a <classname>MessageDeliveryException</classname>
|
||||
if no channel was determined (or an attempt to send was not successful).
|
||||
</para>
|
||||
<para>
|
||||
If, however, you do desire to drop messages silently, simply set
|
||||
<code>default-output-channel="nullChannel"</code>.</para>
|
||||
<important>
|
||||
With the standardization of Router parameters and the consolidation
|
||||
of the parameters described above, there is the possibility of
|
||||
breaking older Spring Integration based applications.
|
||||
</important>
|
||||
<para>
|
||||
For further details please see <xref linkend="router"/>
|
||||
</para>
|
||||
</section>
|
||||
<section id="2.1-schema-updated">
|
||||
<title>XML Schemas updated to 2.1</title>
|
||||
<para>
|
||||
Spring Integration 2.1 ships with an updated XML Schema (version 2.1),
|
||||
providing many improvements, e.g. the Router standardizations
|
||||
discussed above.
|
||||
</para>
|
||||
<para>
|
||||
From now on, users <emphasis>must</emphasis> always declare the
|
||||
latest XML schema (currently version 2.1). Alternatively, they can
|
||||
use the version-less schema. Generally, the best option is to
|
||||
use version-less namespaces, as these will automatically use the
|
||||
latest available version of Spring Integration.
|
||||
</para>
|
||||
<para>
|
||||
Declaring a version-less Spring Integration namespace:
|
||||
</para>
|
||||
<programlisting language="xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:int="http://www.springframework.org/schema/integration"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/integration
|
||||
http://www.springframework.org/schema/integration/spring-integration.xsd
|
||||
http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
...
|
||||
</beans>]]></programlisting>
|
||||
|
||||
<para>
|
||||
Declaring a Spring Integration namespace using an explicit version:
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:int="http://www.springframework.org/schema/integration"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/integration
|
||||
http://www.springframework.org/schema/integration/spring-integration-2.1.xsd
|
||||
http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
...
|
||||
</beans>]]></programlisting>
|
||||
|
||||
|
||||
<para>
|
||||
The old 1.0 and 2.0 schemas are still there, but if an Application
|
||||
Context still references one of those deprecated schemas, the validator
|
||||
will fail on initialization.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
<section id="2.1-source-control-infrastructure">
|
||||
<title>Source Control Management and Build Infrastructure</title>
|
||||
<section id="2.1-move-to-github">
|
||||
<title>Source Code now hosted on Github</title>
|
||||
<para>
|
||||
Since version 2.0, the Spring Integration project uses <ulink url="http://git-scm.com/">Git</ulink> for
|
||||
version control. In order to increase community visibility even
|
||||
further, the project was moved from SpringSource hosted Git
|
||||
repositories to <ulink url="http://www.github.com/">Github</ulink>.
|
||||
The Spring Integration Git repository is located at:
|
||||
<ulink url="https://github.com/SpringSource/spring-integration/"/>
|
||||
</para>
|
||||
<para>
|
||||
For the project we also improved the process of providing code
|
||||
contributions and we ensure that every commit is peer-reviewed.
|
||||
In fact, core committers now follow the same process as contributors.
|
||||
For more details please see:
|
||||
</para>
|
||||
<para><ulink url="https://github.com/SpringSource/spring-integration/wiki/Contributor-Guidelines"/></para>
|
||||
</section>
|
||||
<section id="2.1-sonar">
|
||||
<title>Improved Source Code Visibility with Sonar</title>
|
||||
<para>
|
||||
In an effort to provide better source code visibility and consequently
|
||||
to monitor the quality of Spring Integration's source code, an instance
|
||||
of <ulink url="http://www.sonarsource.org/">Sonar</ulink> was setup
|
||||
and metrics are gathered nightly and made avaiblable at:
|
||||
</para>
|
||||
<para><ulink url="https://sonar.springsource.org/"/></para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="2.1-new-samples">
|
||||
<title>New Samples</title>
|
||||
<para>
|
||||
For the 2.1 release of Spring Integration we also expanded the Spring
|
||||
Integration Samples project and added many new samples, e.g. sampples
|
||||
covering AMQP support, the new payload enricher, a sample illustrating
|
||||
techniques for testing Spring Integration flow fragments, as well as
|
||||
an example for executing Stored Procedures against Oracle. For details
|
||||
please visit:
|
||||
</para>
|
||||
<para><ulink url="https://github.com/SpringSource/spring-integration-samples"/></para>
|
||||
</section>
|
||||
</chapter>
|
||||
@@ -446,6 +446,7 @@
|
||||
</l:l10n>
|
||||
</l:i18n>
|
||||
|
||||
<xsl:param name="ulink.footnotes">true</xsl:param>
|
||||
<!--###################################################
|
||||
colored and hyphenated links
|
||||
################################################### -->
|
||||
|
||||
Reference in New Issue
Block a user