diff --git a/src/reference/docbook/http.xml b/src/reference/docbook/http.xml index 3fdafb2bf5..2c5633a36f 100644 --- a/src/reference/docbook/http.xml +++ b/src/reference/docbook/http.xml @@ -110,14 +110,20 @@ To configure the HttpRequestExecutingMessageHandler write a bean definition like this: + + ]]> + + This bean definition will execute HTTP requests by delegating to a RestTemplate. That template in turn delegates to a list of HttpMessageConverters to generate the HTTP request body from the Message payload. You can configure those converters as well as the ClientHttpRequestFactory instance to use: + + @@ -125,6 +131,8 @@ ]]> + + By default the HTTP request will be generated using an instance of SimpleClientHttpRequestFactory which uses the JDK HttpURLConnection. Use of the Apache Commons HTTP Client is also supported through the provided CommonsClientHttpRequestFactory which can be injected as shown above. @@ -281,9 +289,14 @@ In the case of the Outbound Gateway, the reply message produced by the gateway w To configure the outbound gateway you can use the namespace support as well. The following code snippet shows the different configuration options for an outbound Http gateway. Most importantly, notice that the 'http-method' and 'expected-response-type' are provided. Those are two of the most commonly configured values. The default http-method is POST, and the default response type is null. With a null response type, the payload of the reply Message would - contain the ResponseEntity as long as it's http status is a success (non-successful status codes will throw Exceptions). If you are expecting a different - type, such as a String, then provide that fully-qualified class name as shown below. + contain the ResponseEntity as long as it's http status is a success (non-successful status codes will throw Exceptions). + If you are expecting a different type, such as a String, then provide that fully-qualified class name as shown below. + + Beginning with Spring Integration 2.1 the request-timeout attribute + of the HTTP Outbound Gateway was renamed to reply-timeout + to better reflect the intent. + ]]> - - Beginning with Spring Integration 2.1 the request-timeout attribute - of the HTTP Outbound Gateway was renamed to reply-timeout - to better reflect the intent. - + + + Since Spring Integration 2.2, Java serialization + over HTTP is no longer enabled by default. Previously, when setting + the expected-response-type + attribute to a Serializable object, the Accept + header was not properly set up. Since Spring Integration 2.2, + the SerializingHttpMessageConverter has now been + updated to set the Accept header to + application/x-java-serialized-object. + + + However, because this could cause incompatibility with existing applications, + it was decided to no longer automatically add this converter to the HTTP endpoints. + If you wish to use Java serialization, you will need to add the + SerializingHttpMessageConverter to the appropriate + endpoints, using the message-converters attribute, when using + XML configuration, or using the setMessageConverters() method. + Alternatively, you may wish to consider using JSON instead which is enabled + by simply having Jackson on the classpath. + + Beginning with Spring Integration 2.2 you can also determine the HTTP Method dynamically using SpEL and the http-method-expression attribute. Note that this attribute is obviously murually exclusive with http-method diff --git a/src/reference/docbook/whats-new.xml b/src/reference/docbook/whats-new.xml index 38a2f41a00..7873586215 100644 --- a/src/reference/docbook/whats-new.xml +++ b/src/reference/docbook/whats-new.xml @@ -10,16 +10,121 @@ were resolved as part of the 2.2 development process: -
- General -
- Spring 3.1 +
+ New Components +
+ RedisStore Inbound and Outbound Channel Adapters - Spring Integration now uses Spring 3.1. + Spring Integration now has RedisStore Inbound and Outbound Channel Adapters + allowing you to write and read Message payloads to/from Redis collection(s). + For more information please see + and + . + +
+
+ MongoDB Inbound and Outbound Channel Adapters + + Spring Integration now has MongoDB Inbound and Outbound Channel Adapters + allowing you to write and read Message payloads to/from a MongoDB document store. + For more information please see + and + . + +
+
+ JPA Endpoints + + Spring Integration now includes components for the Java Persistence + API (JPA) for retrieving and persisting JPA entity objects. The + JPA Adapter includes the following components: + + + + Inbound Channel Adapter + + + Outbound Channel Adapter + + + Updating Outbound Gateway + + + Retrieving Outbound Gateway + + + + For more information please see + +
+
+ +
+ General Changes +
+ Spring 3.1 Used by Default + + Spring Integration now uses Spring 3.1. + +
+
+ Adding Behavior to Endpoints + + The ability to add an <advice-chain/> to a poller has been available for some time. + However, the behavior added by this affects the entire integration flow. + It did not address the ability to add, say, retry, to an individual + endpoint. The 2.2. release introduces the <request-handler-advice-chain/> + to many endpoints. + + + In addition, 3 standard Advice classes have been provided for this purpose: + + + MessageHandlerRetryAdvice + MessageHandlerCircuitBreakerAdvice + ExpressionEvaluatingMessageHandlerAdvice + + + For more information, see . + +
+
+ Transaction Synchronization and Pseudo Transactions + + Pollers can now participate in Spring's Transaction Synchronization + feature. This allows for synchronizing such operations as renaming files by an inbound channel + adapter depending on whether the transaction commits, or rolls back. + + + In addition, these features can be enabled when there is not a 'real' transaction present, + by means of a PseudoTransactionManager. + + + For more information see . + +
+
+ File Adapter - Improved File Overwrite/Append Handling + + When using the File Oubound Channel Adapter + or the File Outbound Gateway, a new + mode property was added. Prior to + Spring Integration 2.2, target files were + replaced when they existed. Now you can specify + the following options: + + + REPLACE (Default) + APPEND + FAIL + IGNORE + + + For more information please see .
- Outbound Gateways + Reply-Timeout added to more Outbound Gateways The XML Namespace support adds the reply-timeout attribute to the following Outbound Gateways: @@ -46,26 +151,6 @@ Support for Dead Letter Exchanges/Dead Letter Queues
-
- RedisStore Inbound and Outbound Channel Adapters - - Spring Integration now has RedisStore Inbound and Outbound Channel Adapters - allowing you to write and read Message payloads to/from Redis collection(s). - For more information please see - and - . - -
-
- MongoDB Inbound and Outbound Channel Adapters - - Spring Integration now has MongoDB Inbound and Outbound Channel Adapters - allowing you to write and read Message payloads to/from a MongoDB document store. - For more information please see - and - . - -
JDBC Support - Stored Procedures Components SpEL Support @@ -108,26 +193,6 @@ see: .
-
- File Adapter - Improved File Overwrite/Append Handling - - When using the File Oubound Channel Adapter - or the File Outbound Gateway, a new - mode property was added. Prior to - Spring Integration 2.2, target files were - replaced when they existed. Now you can specify - the following options: - - - REPLACE (Default) - APPEND - FAIL - IGNORE - - - For more information please see . - -
Orderly Shutdown @@ -138,42 +203,6 @@ messages to complete.
-
- Adding Behavior to Endpoints - - The ability to add an <advice-chain/> to a poller has been available for some time. - However, the behavior added by this affects the entire integration flow. - It did not address the ability to add, say, retry, to an individual - endpoint. The 2.2. release introduces the <request-handler-advice-chain/> - to many endpoints. - - - In addition, 3 standard Advice classes have been provided for this purpose: - - - MessageHandlerRetryAdvice - MessageHandlerCircuitBreakerAdvice - ExpressionEvaluatingMessageHandlerAdvice - - - For more information, see . - -
-
- Transaction Synchronization and Pseudo Transactions - - Pollers can now participate in Spring's Transaction Synchronization - feature. This allows for synchronizing such operations as renaming files by an inbound channel - adapter depending on whether the transaction commits, or rolls back. - - - In addition, these features can be enabled when there is not a 'real' transaction present, - by means of a PseudoTransactionManager. - - - For more information see . - -
JMS Oubound Gateway Improvements @@ -191,15 +220,15 @@
- Http Support + HTTP Support - Java serialization over http is no longer enabled by default. Previously, when + Java serialization over HTTP is no longer enabled by default. Previously, when setting a expected-response-type to a Serializable object, the Accept header was not properly set up. The SerializingHttpMessageConverter has now been updated to set the Accept header to application/x-java-serialized-object. However, because this could cause incompatibility with existing applications, - it was decided to no longer automatically add this converter to the http endpoints. + it was decided to no longer automatically add this converter to the HTTP endpoints. If you wish to use Java serialization, you will need to add the @@ -213,37 +242,4 @@
- -
- New Components -
- JPA Endpoints - - Spring Integration now includes components for the Java Persistence - API (JPA) for retrieving and persisting JPA entity objects. The - JPA Adapter includes the following components: - - - - Inbound Channel Adapter - - - Outbound Channel Adapter - - - Updating Outbound Gateway - - - Retrieving Outbound Gateway - - - - For more information please see - -
-
-
- Framework Refactoring - -