diff --git a/src/reference/docbook/changes-2.0-2.1.xml b/src/reference/docbook/changes-2.0-2.1.xml
index 0d369f8dbd..722fc4f981 100644
--- a/src/reference/docbook/changes-2.0-2.1.xml
+++ b/src/reference/docbook/changes-2.0-2.1.xml
@@ -2,8 +2,324 @@
Changes between 2.0 and 2.1
-
- For an overview of the changes in Spring Integration 2.1 since version 2.0,
- please see .
-
+
+ New Components
+
+ JSR-223 Scripting Support
+
+ In Spring Integration 2.0, support for
+ Groovy was added. With
+ Spring Integration 2.1 we expanded support for additional languages
+ substantially by implementing support for
+ JSR-223
+ (Scripting for the Java™ Platform). Now you have the
+ ability to use any scripting language that supports JSR-223 including:
+
+
+ Javascript
+ Ruby/JRuby
+ Python/Jython
+ Groovy
+
+
+ For further details please see .
+
+
+
+ GemFire Support
+
+ Spring Integration provides support for
+ GemFire by providing
+ inbound adapters for entry and continuous query events, an outbound
+ adapter to write entries to the cache, and
+
+ MessageStore and
+
+ MessageGroupStore
+ implementations. Spring integration leverages
+ the Spring Gemfire project, providing a thin wrapper over its
+ components.
+
+
+ For further details please see .
+
+
+
+ AMQP Support
+
+ Spring Integration 2.1 adds several Channel Adapters for receiving and
+ sending messages using the
+ Advanced Message Queuing Protocol (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.
+
+
+ For further details please see .
+
+
+
+ MongoDB Support
+
+ As of version 2.1 Spring Integration provides support for
+ MongoDB
+ by providing a MongoDB-based MessageStore.
+
+
+ For further details please see .
+
+
+
+ Redis Support
+
+ As of version 2.1 Spring Integration supports
+ Redis, an advanced key-value
+ store, by providing a Redis-based MessageStore as well as
+ Publish-Subscribe Messaging adapters.
+
+
+ For further details please see .
+
+
+
+ Support for Spring's Resource abstraction
+
+ As of version 2.1, we've introduced a new Resource Inbound Channel Adapter that builds upon
+ Spring's Resource abstraction to support greater flexibility across a variety of actual types of
+ underlying resources, such as a file, a URL, or a class path resource. Therefore, it's similar to but
+ more generic than the File Inbound Channel Adapter.
+
+
+ For further details please see .
+
+
+
+ Stored Procedure Components
+
+ With Spring Integration 2.1, the JDBC 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
+ SimpleJdbcCall
+ class and consequently supports stored procedures for:
+
+
+ Apache Derby
+ DB2
+ MySQL
+ Microsoft SQL Server
+ Oracle
+ PostgreSQL
+ Sybase
+
+
+ The Stored Procedure components also support Sql Functions for
+ the following databases:
+
+
+ MySQL
+ Microsoft SQL Server
+ Oracle
+ PostgreSQL
+
+
+ For further details please see .
+
+
+
+ XPath and XML Validating Filter
+
+ Spring Integration 2.1 provides a new XPath-based Message Filter,
+ that is part of the XML module. The XPath Filter
+ allows you to filter messages using provided XPath Expressions.
+
+ Furthermore, documentation was added for the XML Validating Filter.
+
+
+ For more details please see
+ and .
+
+
+
+ Payload Enricher
+
+ Since Spring Integration 2.1, the Payload Enricher is provided. A
+ Payload Enricher defines an endpoint that typically passes a
+ Message
+ 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.
+
+
+ For further details please see .
+
+
+
+ FTP and SFTP Outbound Gateways
+
+ 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.
+
+
+ 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.
+
+
+ For further details please see
+ and .
+
+
+
+ FTP Session Caching
+
+ As of version 2.1, we have exposed more flexibility with regards to
+ session management for remote file adapters (e.g., FTP, SFTP etc).
+
+
+ Specifically, the cache-sessions attribute, which is
+ available via the XML namespace support, is now
+ deprecated. Alternatively, we added the
+ sessionCacheSize and sessionWaitTimeout
+ attributes on the CachingSessionFactory.
+
+
+ For further details please see
+ and .
+
+
+
+
+
+ Framework Refactoring
+
+ Standardizing Router Configuration
+
+ Router parameters have been standardized across all router
+ implementations with Spring Integration 2.1 providing a more
+ consistent user experience.
+
+
+ With Spring Integration 2.1 the ignore-channel-name-resolution-failures
+ attribute has been removed in favor of consolidating its behavior
+ with the resolution-required attribute. Also,
+ the resolution-required attribute now defaults to true.
+
+
+ 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
+ default-output-channel was set) and
+ by default will throw a MessageDeliveryException
+ if no channel was determined (or an attempt to send was not successful).
+
+
+ If, however, you do desire to drop messages silently, simply set
+ default-output-channel="nullChannel".
+
+ 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.
+
+
+ For further details please see
+
+
+
+ XML Schemas updated to 2.1
+
+ Spring Integration 2.1 ships with an updated XML Schema (version 2.1),
+ providing many improvements, e.g. the Router standardizations
+ discussed above.
+
+
+ From now on, users must 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.
+
+
+ Declaring a version-less Spring Integration namespace:
+
+
+
+...
+]]>
+
+
+ Declaring a Spring Integration namespace using an explicit version:
+
+
+
+
+...
+]]>
+
+
+
+ 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.
+
+
+
+
+ Source Control Management and Build Infrastructure
+
+ Source Code now hosted on Github
+
+ Since version 2.0, the Spring Integration project uses Git for
+ version control. In order to increase community visibility even
+ further, the project was moved from SpringSource hosted Git
+ repositories to Github.
+ The Spring Integration Git repository is located at:
+
+
+
+ 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:
+
+
+
+
+ Improved Source Code Visibility with Sonar
+
+ In an effort to provide better source code visibility and consequently
+ to monitor the quality of Spring Integration's source code, an instance
+ of Sonar was setup
+ and metrics are gathered nightly and made avaiblable at:
+
+
+
+
+
+
+ New Samples
+
+ 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:
+
+
+
diff --git a/src/reference/docbook/changes-2.1-2.2.xml b/src/reference/docbook/changes-2.1-2.2.xml
new file mode 100644
index 0000000000..c0dcac2858
--- /dev/null
+++ b/src/reference/docbook/changes-2.1-2.2.xml
@@ -0,0 +1,9 @@
+
+
+ Changes between 2.1 and 2.2
+
+ For an overview of the changes in Spring Integration 2.2 since version 2.1,
+ please see .
+
+
diff --git a/src/reference/docbook/history.xml b/src/reference/docbook/history.xml
index 87b1e2d3cc..05f8822bda 100644
--- a/src/reference/docbook/history.xml
+++ b/src/reference/docbook/history.xml
@@ -6,5 +6,6 @@
+
diff --git a/src/reference/docbook/index.xml b/src/reference/docbook/index.xml
index 28dd34be6e..302a338392 100644
--- a/src/reference/docbook/index.xml
+++ b/src/reference/docbook/index.xml
@@ -77,15 +77,15 @@
What's new?
-
- 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:
+
+ For those who are already familiar with Spring Integration, this chapter
+ provides a brief overview of the new features of version 2.2. If you are
+ interested in the changes and features, that were introduced in earlier
+ versions, please take a look at chapter:
-
+
diff --git a/src/reference/docbook/ip.xml b/src/reference/docbook/ip.xml
index cb466dbc1a..33ade1e89a 100644
--- a/src/reference/docbook/ip.xml
+++ b/src/reference/docbook/ip.xml
@@ -329,6 +329,28 @@
This default behavior can be overridden by setting the lookup-host
attribute to "false".
+
+
+ TCP Caching Client Connection Factory
+
+ As noted above, TCP sockets cam be 'single-use' (one request/response)
+ or shared. Shared sockets do not perform well with outbound gateways,
+ in high-volume environments,
+ because the socket can only process one request/response at a time.
+
+
+ To improve performance, users could use collaborating channel adapters
+ instead of gateways, but that requires application-level message
+ correlation. See for more information.
+
+
+ Spring Integration 2.2 introduced a caching client connection factory,
+ where a pool of shared sockets is used, allowing a gateway to
+ process multiple concurrent requests with a pool of shared
+ connections.
+
+
+
TCP Connection Interceptors
@@ -640,6 +662,11 @@
Therefore, for high-volume messages, consider using a collaborating pair of
channel adapters. However, you will need to provide collaboration logic.
+
+ Another solution, introduced in Spring Integration 2.2, is to use a
+ CachingClientConnectionFactory, which allows
+ the use of a pool of shared connections.
+
Collaborating Outbound and Inbound Channel Adapters
diff --git a/src/reference/docbook/whats-new.xml b/src/reference/docbook/whats-new.xml
index 2b8ae4e176..53ffdb35c3 100644
--- a/src/reference/docbook/whats-new.xml
+++ b/src/reference/docbook/whats-new.xml
@@ -2,336 +2,35 @@
- What's new in Spring Integration 2.1?
+ What's new in Spring Integration 2.2?
This chapter provides an overview of the new features and improvements
- that have been introduced with Spring Integration 2.1 If you are interested
+ that have been introduced with Spring Integration 2.2 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:
+ were resolved as part of the 2.2 development process:
- Release Notes for Spring Integration 2.1 M1
- Release Notes for Spring Integration 2.1 M2
- Release Notes for Spring Integration 2.1 M3
+
+ General
+
+ Spring 3.1
+
+ Spring Integration now uses Spring 3.1.
+
+
+
-
- New Components
-
- JSR-223 Scripting Support
-
- In Spring Integration 2.0, support for
- Groovy was added. With
- Spring Integration 2.1 we expanded support for additional languages
- substantially by implementing support for
- JSR-223
- (Scripting for the Java™ Platform). Now you have the
- ability to use any scripting language that supports JSR-223 including:
-
-
- Javascript
- Ruby/JRuby
- Python/Jython
- Groovy
-
-
- For further details please see .
-
-
-
- GemFire Support
-
- Spring Integration provides support for
- GemFire by providing
- inbound adapters for entry and continuous query events, an outbound
- adapter to write entries to the cache, and
-
- MessageStore and
-
- MessageGroupStore
- implementations. Spring integration leverages
- the Spring Gemfire project, providing a thin wrapper over its
- components.
-
+
+ New Components
+
+ JPA Endpoints
- For further details please see .
-
-
-
- AMQP Support
-
- Spring Integration 2.1 adds several Channel Adapters for receiving and
- sending messages using the
- Advanced Message Queuing Protocol (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.
-
-
- For further details please see .
-
-
-
- MongoDB Support
-
- As of version 2.1 Spring Integration provides support for
- MongoDB
- by providing a MongoDB-based MessageStore.
-
-
- For further details please see .
-
-
-
- Redis Support
-
- As of version 2.1 Spring Integration supports
- Redis, an advanced key-value
- store, by providing a Redis-based MessageStore as well as
- Publish-Subscribe Messaging adapters.
-
-
- For further details please see .
+ Endpoints are now available for manipulating JPA entity objects.
-
- Support for Spring's Resource abstraction
-
- As of version 2.1, we've introduced a new Resource Inbound Channel Adapter that builds upon
- Spring's Resource abstraction to support greater flexibility across a variety of actual types of
- underlying resources, such as a file, a URL, or a class path resource. Therefore, it's similar to but
- more generic than the File Inbound Channel Adapter.
-
-
- For further details please see .
-
-
-
- Stored Procedure Components
-
- With Spring Integration 2.1, the JDBC 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
- SimpleJdbcCall
- class and consequently supports stored procedures for:
-
-
- Apache Derby
- DB2
- MySQL
- Microsoft SQL Server
- Oracle
- PostgreSQL
- Sybase
-
-
- The Stored Procedure components also support Sql Functions for
- the following databases:
-
-
- MySQL
- Microsoft SQL Server
- Oracle
- PostgreSQL
-
-
- For further details please see .
-
-
-
- XPath and XML Validating Filter
-
- Spring Integration 2.1 provides a new XPath-based Message Filter,
- that is part of the XML module. The XPath Filter
- allows you to filter messages using provided XPath Expressions.
-
- Furthermore, documentation was added for the XML Validating Filter.
-
-
- For more details please see
- and .
-
-
-
- Payload Enricher
-
- Since Spring Integration 2.1, the Payload Enricher is provided. A
- Payload Enricher defines an endpoint that typically passes a
- Message
- 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.
-
-
- For further details please see .
-
-
-
- FTP and SFTP Outbound Gateways
-
- 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.
-
-
- 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.
-
-
- For further details please see
- and .
-
-
-
- FTP Session Caching
-
- As of version 2.1, we have exposed more flexibility with regards to
- session management for remote file adapters (e.g., FTP, SFTP etc).
-
-
- Specifically, the cache-sessions attribute, which is
- available via the XML namespace support, is now
- deprecated. Alternatively, we added the
- sessionCacheSize and sessionWaitTimeout
- attributes on the CachingSessionFactory.
-
-
- For further details please see
- and .
-
-
-
-
-
+
Framework Refactoring
-
- Standardizing Router Configuration
-
- Router parameters have been standardized across all router
- implementations with Spring Integration 2.1 providing a more
- consistent user experience.
-
-
- With Spring Integration 2.1 the ignore-channel-name-resolution-failures
- attribute has been removed in favor of consolidating its behavior
- with the resolution-required attribute. Also,
- the resolution-required attribute now defaults to true.
-
-
- 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
- default-output-channel was set) and
- by default will throw a MessageDeliveryException
- if no channel was determined (or an attempt to send was not successful).
-
-
- If, however, you do desire to drop messages silently, simply set
- default-output-channel="nullChannel".
-
- 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.
-
-
- For further details please see
-
-
-
- XML Schemas updated to 2.1
-
- Spring Integration 2.1 ships with an updated XML Schema (version 2.1),
- providing many improvements, e.g. the Router standardizations
- discussed above.
-
-
- From now on, users must 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.
-
-
- Declaring a version-less Spring Integration namespace:
-
-
-
-...
-]]>
-
- Declaring a Spring Integration namespace using an explicit version:
-
-
-
-
-...
-]]>
-
-
-
- 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.
-
-
-
-
- Source Control Management and Build Infrastructure
-
- Source Code now hosted on Github
-
- Since version 2.0, the Spring Integration project uses Git for
- version control. In order to increase community visibility even
- further, the project was moved from SpringSource hosted Git
- repositories to Github.
- The Spring Integration Git repository is located at:
-
-
-
- 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:
-
-
-
-
- Improved Source Code Visibility with Sonar
-
- In an effort to provide better source code visibility and consequently
- to monitor the quality of Spring Integration's source code, an instance
- of Sonar was setup
- and metrics are gathered nightly and made avaiblable at:
-
-
-
-
-
-
- New Samples
-
- 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:
-
-