diff --git a/src/reference/docbook/amqp.xml b/src/reference/docbook/amqp.xml
index ef49aed04b..8ca1586d29 100644
--- a/src/reference/docbook/amqp.xml
+++ b/src/reference/docbook/amqp.xml
@@ -65,7 +65,6 @@
expose-listener-channel=""]]>Optional (Defaults to true).
- AmqpHeaderMapper to use when receiving AMQP Messages.
+ A reference to an AmqpHeaderMapper to use when receiving AMQP Messages.
Optional.
- By default only standard AMQP properties (e.g. contentType) will be copied to and from
- Spring Integration MessageHeaders. Any user-defined headers within the AMQP
- MessageProperties will NOT be copied to or from an AMQP Message unless
- explicitly identified via 'requestHeaderNames' and/or 'replyHeaderNames' properties of this DefaultAmqpHeaderMapper.
- If you need to copy all user-defined headers simply use wild-card character '*'.
+ By default only standard AMQP properties (e.g. contentType) will be copied to
+ Spring Integration MessageHeaders. Any user-defined headers within the AMQP
+ MessageProperties will NOT be copied to the Message by the default
+ DefaultAmqpHeaderMapper.
+ Not allowed if 'request-header-names' is provided.
Comma-separated list of names of AMQP Headers to be mapped from the AMQP request into the MessageHeaders.
-This can only be provided if the 'header-mapper' reference is not being set directly. The values in
-this list can also be simple patterns to be matched against the header names (e.g. "*" or "foo*, bar" or "*foo").
-
-
- Comma-separated list of names of MessageHeaders to be mapped into the AMQP Message Properties of the AMQP reply message.
- All standard Headers (e.g., contentType) will be mapped to AMQP Message Properties while user-defined headers will be mapped to 'headers' property
- which itself is a Map.
- This can only be provided if the 'header-mapper' reference is not being set directly. The values in
- this list can also be simple patterns to be matched against the header names (e.g. "*" or "foo*, bar" or "*foo").
+ This can only be provided if the 'header-mapper' reference is not provided. The values in
+ this list can also be simple patterns to be matched against the header names (e.g. "*" or "foo*, bar" or "*foo").
Reference to the SimpleMessageListenerContainer
@@ -291,17 +283,16 @@ this list can also be simple patterns to be matched against the header names (e.
Inbound Gateway
- A configuration sample for an AMQP Inbound Gateway is shown
- below.
+ The inbound gateway supports all the attributes on the inbound channel adapter (except 'channel'
+ is replaced by 'request-channel'), plus some additional attributes:
]]>
+ header-mapper=""]]>]]>
@@ -313,42 +304,42 @@ this list can also be simple patterns to be matched against the header names (e.
Message Channel to which converted Messages should be sent.
Required.
-
- Names of the AMQP Queues from which Messages should be consumed (comma-separated list).
- Required.
-
-
- Extra AOP Advice(s) to handle cross cutting behavior associated with this Inbound Gateway.
- Optional.
-
-
- Specify the number of concurrent consumers to
- create. Default is 1. Raising the number of concurrent
- consumers is recommended in order to scale the
- consumption of messages coming in from a queue.
- However, note that any ordering guarantees are lost
- once multiple consumers are registered. In general,
- stick with 1 consumer for low-volume queues.
- Optional (Defaults to 1).
-
-
- Bean reference to the RabbitMQ ConnectionFactory.
- Optional (Defaults to 'connectionFactory').
-
-
- Acknowledge Mode for the MessageListenerContainer.
- When set to MANUAL, the delivery tag and channel are provided in
- message headers amqp_deliveryTag and
- amqp_channel respectively; the user application is
- responsible for acknowledgement. NONE means no acknowledgements
- (autoAck); AUTO means the adapter's container will acknowledge
- when the downstream flow completes.
- Optional (Defaults to AUTO) see .
+
+ A reference to an AmqpHeaderMapper to use when receiving AMQP Messages.
+ Optional.
+ By default only standard AMQP properties (e.g. contentType) will be copied to and from
+ Spring Integration MessageHeaders. Any user-defined headers within the AMQP
+ MessageProperties will NOT be copied to or from an AMQP Message by the default
+ DefaultAmqpHeaderMapper.
+ Not allowed if 'request-header-names' or 'reply-header-names' is provided.
+
-
+
+ Comma-separated list of names of AMQP Headers to be mapped from the AMQP request into the
+ MessageHeaders.
+ This can only be provided if the 'header-mapper' reference is not provided. The values in
+ this list can also be simple patterns to be matched against the header names (e.g. "*" or "foo*, bar" or "*foo").
+
+
+ Comma-separated list of names of MessageHeaders to be mapped into the
+ AMQP Message Properties of the AMQP reply message.
+ All standard Headers (e.g., contentType) will be mapped to AMQP Message Properties
+ while user-defined headers will be mapped to the 'headers' property.
+ This can only be provided if the 'header-mapper' reference is not provided. The values in
+ this list can also be simple patterns to be matched against the header names (e.g. "*" or "foo*,
+ bar" or "*foo").
+
+
Message Channel where reply Messages will be expected.
Optional.
+
+ Used to set the receiveTimeout on the underlying
+ org.springframework.integration.core.MessagingTemplate for receiving messages
+ from the reply channel. If not specified this property will default to "1000"
+ (1 second). Only applies if the container thread hands off to another thread
+ before the reply is sent.
+
@@ -411,6 +402,7 @@ public Object handle(@Payload String payload, @Header(AmqpHeaders.CHANNEL) Chann
channel="outboundChannel"]]>]]>
+ header-mapper=""]]>]]>
@@ -440,7 +434,13 @@ public Object handle(@Payload String payload, @Header(AmqpHeaders.CHANNEL) Chann
The name of the AMQP Exchange to which Messages
should be sent. If not provided, Messages will be sent
- to the default, no-name Exchange.
+ to the default, no-name Exchange. Mutually exclusive with 'exchange-name-expression'.
+ Optional.
+
+
+ A SpEL expression that is evaluated to determine the name of the AMQP Exchange to which Messages
+ should be sent, with the message as the root object. If not provided, Messages will be sent
+ to the default, no-name Exchange. Mutually exclusive with 'exchange-name'.
Optional.
@@ -451,13 +451,13 @@ public Object handle(@Payload String payload, @Header(AmqpHeaders.CHANNEL) Chann
The fixed routing-key to use when sending Messages. By
- default, this will be an empty String.
+ default, this will be an empty String. Mutually exclusive with 'routing-key-expression'.
Optional.
- The routing-key to use when sending Messages
- evaluated as an expression on the message (e.g.
- 'payload.key'). By default, this will be an empty String.
+ A SpEL expression that is evaluated to determine the routing-key to use when sending Messages,
+ with the message as the root object (e.g. 'payload.key'). By default, this will be an empty
+ String. Mutually exclusive with 'routing-key'.
Optional.
@@ -507,6 +507,22 @@ public Object handle(@Payload String payload, @Header(AmqpHeaders.CHANNEL) Chann
+ A reference to an AmqpHeaderMapper to use when sending AMQP Messages.
+ Optional.
+ By default only standard AMQP properties (e.g. contentType) will be copied to the
+ Spring Integration MessageHeaders.
+ Any user-defined headers will NOT be copied to the Message by the default
+ DefaultAmqpHeaderMapper.
+ Not allowed if 'request-header-names' is provided.
+
+
+
+ Comma-separated list of names of AMQP Headers to be mapped from the
+ MessageHeaders to the AMQP Message.
+ Not allowed if the 'header-mapper' reference is provided. The values in
+ this list can also be simple patterns to be matched against the header names (e.g. "*" or "foo*, bar" or "*foo").
+
+
When set to false, the endpoint will attempt to connect to the
broker during application context initialization. This allows "fail fast" detection of
bad configuration, but will also cause initialization to fail if the broker is down.
@@ -525,8 +541,11 @@ public Object handle(@Payload String payload, @Header(AmqpHeaders.CHANNEL) Chann
request-channel="myRequestChannel"]]>
The name of the AMQP Exchange to which Messages should
be sent. If not provided, Messages will be sent to the
- default, no-name Exchange.
+ default, no-name Exchange. Mutually exclusive with 'exchange-name-expression'.
Optional.
+
+ A SpEL expression that is evaluated to determine the name of the AMQP Exchange to which Messages
+ should be sent, with the message as the root object. If not provided, Messages will be sent
+ to the default, no-name Exchange. Mutually exclusive with 'exchange-name'.
+ Optional.
+
The order for this consumer when multiple
consumers are registered thereby enabling load-
@@ -566,15 +591,25 @@ public Object handle(@Payload String payload, @Header(AmqpHeaders.CHANNEL) Chann
being received from an AQMP Queue and converted.
Optional.
+
+ The time the gateway will wait when sending the reply message to the reply-channel.
+ This only applies if the reply-channel can block - such as a
+ QueueChannel with a capacity limit that is currently full. Default: infinity.
+
+
+ When true, the gateway will throw an exception if no reply message is received
+ within the AmqpTemplate's replyTimeout property. Default:
+ true.
+
The routing-key to use when sending Messages. By default,
- this will be an empty String.
+ this will be an empty String. Mutually exclusive with 'routing-key-expression'
Optional.
- The routing-key to use when sending Messages evealuated
- as an expression on the message (e.g. 'payload.key').
- By default, this will be an empty String.
+ A SpEL expression that is evaluated to determine the routing-key to use when sending Messages,
+ with the message as the root object (e.g. 'payload.key'). By default, this will be an empty
+ String. Mutually exclusive with 'routing-key'.
Optional.
@@ -621,7 +656,10 @@ public Object handle(@Payload String payload, @Header(AmqpHeaders.CHANNEL) Chann
automatically, including the case where that application might send a request/reply to a third
application using an outbound gateway.
-
+
+ The underlying AmqpTemplate has a default replyTimeout of
+ 5 seconds. If you require a longer timeout, it must be configured on the template.
+