diff --git a/docs/src/reference/docbook/channel.xml b/docs/src/reference/docbook/channel.xml
index e6a0fd27c7..c639b8e98e 100644
--- a/docs/src/reference/docbook/channel.xml
+++ b/docs/src/reference/docbook/channel.xml
@@ -370,12 +370,12 @@ public Message> receive(final PollableChannel> channel) { ... }]]>Configuring Message Channels
To create a Message Channel instance, you can use the <channel/> element:
- <channel id="exampleChannel"/>
+ <int:channel id="exampleChannel"/>
The default channel type is Point to Point. To create a
Publish Subscribe channel, use the <publish-subscribe-channel/> element:
- <publish-subscribe-channel id="exampleChannel"/>
+ <int:publish-subscribe-channel id="exampleChannel"/>
When using the <channel/> element without any sub-elements, it will create a DirectChannel
@@ -390,20 +390,20 @@ public Message> receive(final PollableChannel> channel) { ... }]]>DirectChannel Configuration
As mentioned above, DirectChannel is the default type.
- ]]>
+ ]]>
A default channel will have a round-robin load-balancer and will also have
failover enabled (See the discussion in
for more detail). To disable one or both of these, add a <dispatcher/> sub-element and
configure the attributes:
-
+
-
-
-
+
+
+
]]>
@@ -429,7 +429,7 @@ public Message> receive(final PollableChannel> channel) { ... }]]>java.lang.Integer or java.lang.Double. Multiple types can be
provided as a comma-delimited list:
- ]]>
+ ]]>
So the 'numberChannel' above will only accept Messages with a data-type of java.lang.Number. But what happens
@@ -441,14 +441,14 @@ public Message> receive(final PollableChannel> channel) { ... }]]>
You can even register custom converters. For example, let's say you are sending a Message with a String payload to the 'numberChannel' we configured above.
("5"));
]]>
Typically this would be a perfectly legal operation, however since we are using Datatype Channel the result of such operation would generate an exception:
@@ -474,9 +474,9 @@ payload to an Integer.
To create a QueueChannel, use the <queue/> sub-element.
You may specify the channel's capacity:
- <channel id="queueChannel">
+ <int:channel id="queueChannel">
<queue capacity="25"/>
-</channel>
+</int:channel>
If you do not provide a value for the 'capacity' attribute on this <queue/> sub-element,
the resulting queue will be unbounded. To avoid issues such as OutOfMemoryErrors, it is highly
@@ -534,14 +534,14 @@ payload to an Integer.
To create a PublishSubscribeChannel, use the <publish-subscribe-channel/> element.
When using this element, you can also specify the task-executor used for publishing
Messages (if none is specified it simply publishes in the sender's thread):
- <publish-subscribe-channel id="pubsubChannel" task-executor="someExecutor"/>
+ <int:publish-subscribe-channel id="pubsubChannel" task-executor="someExecutor"/>
If you are providing a Resequencer or Aggregator downstream
from a PublishSubscribeChannel, then you can set the 'apply-sequence' property
on the channel to true. That will indicate that the channel should set the sequence-size
and sequence-number Message headers as well as the correlation id prior to passing the Messages along.
For example, if there are 5 subscribers, the sequence-size would be set to 5, and the Messages would
have sequence-number header values ranging from 1 to 5.
- <publish-subscribe-channel id="pubsubChannel" apply-sequence="true"/>
+ <int:publish-subscribe-channel id="pubsubChannel" apply-sequence="true"/>
The apply-sequence value is false by default so that a Publish Subscribe Channel
can send the exact same Message instances to multiple outbound channels. Since Spring Integration
@@ -561,36 +561,36 @@ payload to an Integer.
between sender and receiver so that any active transaction context will not be shared by the invocation
of the handler (i.e. the handler may throw an Exception, but the send invocation has already returned
successfully).
-
-
-]]>
+
+
+]]>
The load-balancer and failover options are also both available on the <dispatcher/> sub-element
as described above in . The same defaults
apply as well. So, the channel will have a round-robin load-balancing strategy with failover
enabled unless explicit configuration is provided for one or both of those attributes.
-
-
-]]>
+
+
+]]>
PriorityChannel Configuration
To create a PriorityChannel, use the <priority-queue/> sub-element:
-
-
-]]>
+
+
+]]>
By default, the channel will consult the MessagePriority header of the
message. However, a custom Comparator reference may be
provided instead. Also, note that the PriorityChannel (like the other types)
does support the datatype attribute. As with the QueueChannel, it also supports a capacity attribute.
The following example demonstrates all of these:
-
-
+
-
+
]]>
@@ -601,9 +601,9 @@ payload to an Integer.
a <rendezvous-queue>. It does not provide any additional configuration options to
those described above, and its queue does not accept any capacity value since it is a
0-capacity direct handoff queue.
-
-
-
+
+
+
]]>
@@ -611,7 +611,7 @@ payload to an Integer.
Scoped Channel Configuration
Any channel can be configured with a "scope" attribute.
- ]]>
+ ]]>
@@ -622,11 +622,11 @@ payload to an Integer.
<interceptors/> sub-element can be added within <channel/> (or the more specific element
types). Provide the ref attribute to reference any Spring-managed object that implements the
ChannelInterceptor interface:
-
- ]]>
+
+ ]]>
- ]]>]]>
+ ]]>]]>
In general, it is a good idea to define the interceptor implementations in a separate location since they
usually provide common behavior that can be reused across multiple channels.
@@ -688,13 +688,13 @@ payload to an Integer.
As mentioned above, Spring Integration provides a simple Wire Tap interceptor out of
the box. You can configure a Wire Tap on any channel within an <interceptors/> element.
This is especially useful for debugging, and can be used in conjunction with Spring Integration's logging
- Channel Adapter as follows:
-
-
-
-
+ Channel Adapter as follows:
+
+
+
+
- ]]>
+ ]]>
The 'logging-channel-adapter' also accepts an 'expression' attribute so that you can evaluate
a SpEL expression against 'payload' and/or 'headers' variables. Alternatively, to simply log