camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r906746 - in /websites/production/camel/content: cache/main.pageCache recipient-list.html routing-slip.html
Date Thu, 24 Apr 2014 17:18:01 GMT
Author: buildbot
Date: Thu Apr 24 17:18:00 2014
New Revision: 906746

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/recipient-list.html
    websites/production/camel/content/routing-slip.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/recipient-list.html
==============================================================================
--- websites/production/camel/content/recipient-list.html (original)
+++ websites/production/camel/content/recipient-list.html Thu Apr 24 17:18:00 2014
@@ -87,7 +87,7 @@
         <tr>
         <td valign="top" width="100%">
 <div class="wiki-content maincontent"><h3 id="RecipientList-RecipientList">Recipient
List</h3><p>The <a shape="rect" class="external-link" href="http://www.enterpriseintegrationpatterns.com/RecipientList.html"
rel="nofollow">Recipient List</a> from the <a shape="rect" href="enterprise-integration-patterns.html">EIP
patterns</a> allows you to route messages to a number of dynamically specified recipients.</p><p><img
class="confluence-embedded-image confluence-external-resource" src="http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif"
data-image-src="http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif"></p><p>The
recipients will receive a copy of the <strong>same</strong> <a shape="rect"
href="exchange.html">Exchange</a>, and Camel will execute them sequentially.</p><h3
id="RecipientList-Options">Options</h3><div class="confluenceTableSmall">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Description </p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>delimiter</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>,</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delimiter
used if the <a shape="rect" href="expression.html" title="Expression">Expression</a>
returned multiple endpoints. <strong>Camel 2.13</strong> can be disabled using
"false" </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>strategyRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> An <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org
 /apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
that will assemble the replies from recipients into a single outgoing message from the <a
shape="rect" href="recipient-list.html" title="Recipient List">Recipient List</a>.
By default Camel will use the last reply as the outgoing message. From <strong>Camel
2.12</strong> onwards you can also use a POJO as the <code>AggregationStrategy</code>,
see the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a>
page for more details. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>strategyMethodName</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12:</strong>
This option can be used to explicit declare the method name to use, when using POJOs as the
<code>AggregationStrategy</code>. See the <a shape="rect" href="aggregator2.html"
title="Aggregator2">Aggregat
 e</a> page for more details. </p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>strategyMethodAllowNull</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.12:</strong> If this option is <code>false</code> then the aggregate method
is not used if there was no data to enrich. If this option is <code>true</code>
then <code>null</code> values is used as the <code>oldExchange</code>
(when no data to enrich), when using POJOs as the <code>AggregationStrategy</code>.
See the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a>
page for more details. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>parallelProcessing</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.2:</strong>
If enabled, 
 messages are sent to the recipients concurrently. Note that the calling thread will still
wait until all messages have been fully processed before it continues; it's the sending and
processing of replies from recipients which happens in parallel. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>executorServiceRef</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.2:</strong>
A custom <a shape="rect" href="threading-model.html" title="Threading Model">Thread
Pool</a> to use for parallel processing. Note that enabling this option implies parallel
processing, so you need not enable that option as well. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>stopOnException</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.2:
 </strong> Whether to immediately stop processing when an exception occurs. If disabled,
Camel will send the message to all recipients regardless of any individual failures. You can
process exceptions in an <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
implementation, which supports full control of error handling. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>ignoreInvalidEndpoints</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.3:</strong> Whether to ignore an endpoint URI that could not be resolved. If disabled,
Camel will throw an exception identifying the invalid endpoint URI. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>streaming</code>
</p></td><td colspan="1" 
 rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.5:</strong>
If enabled, Camel will process replies out-of-order - that is, in the order received in reply
from each recipient. If disabled, Camel will process replies in the same order as specified
by the <a shape="rect" href="expression.html" title="Expression">Expression</a>.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>timeout</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.5:</strong>
Specifies a processing timeout milliseconds. If the <a shape="rect" href="recipient-list.html"
title="Recipient List">Recipient List</a> hasn't been able to send and process all
replies within this timeframe, then the timeout triggers and the <a shape="rect" href="recipient-list.html"
title="Recipient List">Recipient List</a> breaks 
 out, with message flow continuing to the next element. Note that if you provide a <a shape="rect"
class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/TimeoutAwareAggregationStrategy.html">TimeoutAwareAggregationStrategy</a>,
its <code>timeout</code> method is invoked before breaking out. <strong>Beware:</strong>
If the timeout is reached with running tasks still remaining, certain tasks for which it is
difficult for Camel to shut down in a graceful manner may continue to run.  So use this option
with a bit of care.  We may be able to improve this functionality in future Camel releases.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>onPrepareRef</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.8:</strong> A custom <a shape="rect"
href="processor.html" title="Processor">Processor</a> t
 o prepare the copy of the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a>
each recipient will receive. This allows you to perform arbitrary transformations, such as
deep-cloning the message payload (or any other custom logic). </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>shareUnitOfWork</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.8:</strong> Whether the unit of work should be shared. See <a shape="rect" href="splitter.html#Splitter-Sharingunitofwork">the
same option on Splitter</a> for more details. </p></td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Description </p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>delimiter</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>,</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delimiter
used if the <a shape="rect" href="expression.html" title="Expression">Expression</a>
returned multiple endpoints. <strong>Camel 2.13</strong> can be disabled using
"false" </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>strategyRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> An <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org
 /apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
that will assemble the replies from recipients into a single outgoing message from the <a
shape="rect" href="recipient-list.html" title="Recipient List">Recipient List</a>.
By default Camel will use the last reply as the outgoing message. From <strong>Camel
2.12</strong> onwards you can also use a POJO as the <code>AggregationStrategy</code>,
see the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a>
page for more details. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>strategyMethodName</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12:</strong>
This option can be used to explicit declare the method name to use, when using POJOs as the
<code>AggregationStrategy</code>. See the <a shape="rect" href="aggregator2.html"
title="Aggregator2">Aggregat
 e</a> page for more details. </p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>strategyMethodAllowNull</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.12:</strong> If this option is <code>false</code> then the aggregate method
is not used if there was no data to enrich. If this option is <code>true</code>
then <code>null</code> values is used as the <code>oldExchange</code>
(when no data to enrich), when using POJOs as the <code>AggregationStrategy</code>.
See the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a>
page for more details. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>parallelProcessing</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.2:</strong>
If enabled, 
 messages are sent to the recipients concurrently. Note that the calling thread will still
wait until all messages have been fully processed before it continues; it's the sending and
processing of replies from recipients which happens in parallel. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>executorServiceRef</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.2:</strong>
A custom <a shape="rect" href="threading-model.html" title="Threading Model">Thread
Pool</a> to use for parallel processing. Note that enabling this option implies parallel
processing, so you need not enable that option as well. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>stopOnException</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.2:
 </strong> Whether to immediately stop processing when an exception occurs. If disabled,
Camel will send the message to all recipients regardless of any individual failures. You can
process exceptions in an <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
implementation, which supports full control of error handling. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>ignoreInvalidEndpoints</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.3:</strong> Whether to ignore an endpoint URI that could not be resolved. If disabled,
Camel will throw an exception identifying the invalid endpoint URI. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>streaming</code>
</p></td><td colspan="1" 
 rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.5:</strong>
If enabled, Camel will process replies out-of-order - that is, in the order received in reply
from each recipient. If disabled, Camel will process replies in the same order as specified
by the <a shape="rect" href="expression.html" title="Expression">Expression</a>.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>timeout</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.5:</strong>
Specifies a processing timeout milliseconds. If the <a shape="rect" href="recipient-list.html"
title="Recipient List">Recipient List</a> hasn't been able to send and process all
replies within this timeframe, then the timeout triggers and the <a shape="rect" href="recipient-list.html"
title="Recipient List">Recipient List</a> breaks 
 out, with message flow continuing to the next element. Note that if you provide a <a shape="rect"
class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/TimeoutAwareAggregationStrategy.html">TimeoutAwareAggregationStrategy</a>,
its <code>timeout</code> method is invoked before breaking out. <strong>Beware:</strong>
If the timeout is reached with running tasks still remaining, certain tasks for which it is
difficult for Camel to shut down in a graceful manner may continue to run.  So use this option
with a bit of care.  We may be able to improve this functionality in future Camel releases.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>onPrepareRef</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.8:</strong> A custom <a shape="rect"
href="processor.html" title="Processor">Processor</a> t
 o prepare the copy of the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a>
each recipient will receive. This allows you to perform arbitrary transformations, such as
deep-cloning the message payload (or any other custom logic). </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>shareUnitOfWork</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.8:</strong> Whether the unit of work should be shared. See <a shape="rect" href="splitter.html#Splitter-Sharingunitofwork">the
same option on Splitter</a> for more details. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>cacheSize</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>1000</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.13.1/2.12.4:</strong> Allows to configure the cache size for the <c
 ode>ProducerCache</code> which caches producers for reuse in the routing slip. Will
by default use the default cache size which is 1000. Setting the value to -1 allows to turn
off the cache all together. </p></td></tr></tbody></table>
 </div><h4 id="RecipientList-StaticRecipientList">Static Recipient List</h4><p>The
following example shows how to route a request from an input <strong>queue:a</strong>
endpoint to a static list of destinations</p><p><strong>Using Annotations</strong><br
clear="none"> You can use the <a shape="rect" href="recipientlist-annotation.html">RecipientList
Annotation</a> on a POJO to create a Dynamic Recipient List. For more details see the
<a shape="rect" href="bean-integration.html">Bean Integration</a>.</p><p><strong>Using
the <a shape="rect" href="fluent-builders.html">Fluent Builders</a></strong></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 RouteBuilder builder = new RouteBuilder() {

Modified: websites/production/camel/content/routing-slip.html
==============================================================================
--- websites/production/camel/content/routing-slip.html (original)
+++ websites/production/camel/content/routing-slip.html Thu Apr 24 17:18:00 2014
@@ -86,50 +86,17 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 id="RoutingSlip-RoutingSlip">Routing
Slip</h3>
-
-<p>The <a shape="rect" class="external-link" href="http://www.enterpriseintegrationpatterns.com/RoutingTable.html"
rel="nofollow">Routing Slip</a> from the <a shape="rect" href="enterprise-integration-patterns.html">EIP
patterns</a> allows you to route a message consecutively through a series of processing
steps where the sequence of steps is not known at design time and can vary for each message.</p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" src="http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif"
data-image-src="http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif"></p>
-
-<h3 id="RoutingSlip-Options">Options</h3>
-
-<div class="confluenceTableSmall">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Description </p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>uriDelimiter</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>,</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delimiter
used if the <a shape="rect" href="expression.html" title="Expression">Expression</a>
returned multiple endpoints. </p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>ignoreInvalidEndpoints</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If an
endpoint uri could not be resolved, should it be ignored. Otherwise Camel will throw an exception
stating the endpoint uri is not v
 alid. </p></td></tr></tbody></table>
-</div>
-
-
-<h4 id="RoutingSlip-Example">Example</h4>
-
-<p>The following route will take any messages sent to the <a shape="rect" class="external-link"
href="http://activemq.apache.org">Apache ActiveMQ</a> queue <strong>SomeQueue</strong>
and pass them into the <a shape="rect" class="external-link" href="http://www.enterpriseintegrationpatterns.com/RoutingTable.html"
rel="nofollow">Routing Slip</a> pattern.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-from(&quot;activemq:SomeQueue&quot;).routingSlip(&quot;aRoutingSlipHeader&quot;);
+<div class="wiki-content maincontent"><h3 id="RoutingSlip-RoutingSlip">Routing
Slip</h3><p>The <a shape="rect" class="external-link" href="http://www.enterpriseintegrationpatterns.com/RoutingTable.html"
rel="nofollow">Routing Slip</a> from the <a shape="rect" href="enterprise-integration-patterns.html">EIP
patterns</a> allows you to route a message consecutively through a series of processing
steps where the sequence of steps is not known at design time and can vary for each message.</p><p><img
class="confluence-embedded-image confluence-external-resource" src="http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif"
data-image-src="http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif"></p><h3
id="RoutingSlip-Options">Options</h3><div class="confluenceTableSmall">
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> Description </p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>uriDelimiter</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>,</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delimiter
used if the <a shape="rect" href="expression.html" title="Expression">Expression</a>
returned multiple endpoints. </p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>ignoreInvalidEndpoints</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If an
endpoint uri could not be resolved, should it be ignored. Otherwise Camel will throw an exception
stating the endpoint uri is not v
 alid. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>cacheSize</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
1000 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
<strong>Camel 2.13.1/2.12.4:</strong> Allows to configure the cache size for the
ProducerCache which caches producers for reuse in the routing slip. Will by default use the
default cache size which is 1000. Setting the value to -1 allows to turn off the cache all
together. </p></td></tr></tbody></table>
+</div><h4 id="RoutingSlip-Example">Example</h4><p>The following route
will take any messages sent to the <a shape="rect" class="external-link" href="http://activemq.apache.org">Apache
ActiveMQ</a> queue <strong>SomeQueue</strong> and pass them into the <a
shape="rect" class="external-link" href="http://www.enterpriseintegrationpatterns.com/RoutingTable.html"
rel="nofollow">Routing Slip</a> pattern.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[from(&quot;activemq:SomeQueue&quot;).routingSlip(&quot;aRoutingSlipHeader&quot;);
 ]]></script>
-</div></div>
-
-<p>Messages will be checked for the existance of the "aRoutingSlipHeader" header. The
value of this header should be a comma-delimited list of endpoint <a shape="rect" href="uris.html">URIs</a>
you wish the message to be routed to. The <a shape="rect" href="message.html">Message</a>
will be routed in a <a shape="rect" href="pipes-and-filters.html">pipeline</a>
fashion (i.e. one after the other).</p>
-
-<p>From Camel 2.5 the <a shape="rect" href="routing-slip.html">Routing Slip</a>
will set a property (<code>Exchange.SLIP_ENDPOINT</code>) on the <a shape="rect"
href="exchange.html">Exchange</a> which contains the current endpoint as it advanced
though the slip. This allows you to <em>know</em> how far we have processed in
the slip.</p>
-
-<p>The <a shape="rect" href="routing-slip.html">Routing Slip</a> will compute
the slip <strong>beforehand</strong> which means, the slip is only computed once.
If you need to compute the slip <em>on-the-fly</em> then use the <a shape="rect"
href="dynamic-router.html">Dynamic Router</a> pattern instead.</p>
-
-<h4 id="RoutingSlip-Configurationoptions">Configuration options</h4>
-
-<p>Here we set the header name and the URI delimiter to something different.</p>
-
-<p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent
Builders</a></strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div><p>Messages will be checked for the existance of the "aRoutingSlipHeader"
header. The value of this header should be a comma-delimited list of endpoint <a shape="rect"
href="uris.html">URIs</a> you wish the message to be routed to. The <a shape="rect"
href="message.html">Message</a> will be routed in a <a shape="rect" href="pipes-and-filters.html">pipeline</a>
fashion (i.e. one after the other).</p><p>From Camel 2.5 the <a shape="rect"
href="routing-slip.html">Routing Slip</a> will set a property (<code>Exchange.SLIP_ENDPOINT</code>)
on the <a shape="rect" href="exchange.html">Exchange</a> which contains the current
endpoint as it advanced though the slip. This allows you to <em>know</em> how
far we have processed in the slip.</p><p>The <a shape="rect" href="routing-slip.html">Routing
Slip</a> will compute the slip <strong>beforehand</strong> which means,
the slip is only computed once. If you need to compute the slip <em>on-the-fly</em>
then use the <a shape="rect" href
 ="dynamic-router.html">Dynamic Router</a> pattern instead.</p><h4 id="RoutingSlip-Configurationoptions">Configuration
options</h4><p>Here we set the header name and the URI delimiter to something
different.</p><p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent
Builders</a></strong></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:c&quot;).routingSlip(header(&quot;aRoutingSlipHeader&quot;),
&quot;#&quot;);
 ]]></script>
-</div></div>
-
-<p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring
XML Extensions</a></strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;camelContext id=&quot;buildRoutingSlip&quot; xmlns=&quot;http://activemq.apache.org/camel/schema/spring&quot;&gt;
+</div></div><p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring
XML Extensions</a></strong></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;camelContext
id=&quot;buildRoutingSlip&quot; xmlns=&quot;http://activemq.apache.org/camel/schema/spring&quot;&gt;
   &lt;route&gt;
     &lt;from uri=&quot;direct:c&quot;/&gt;
     &lt;routingSlip uriDelimiter=&quot;#&quot;&gt;
@@ -138,50 +105,22 @@ from(&quot;direct:c&quot;).routingSlip(h
   &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-<h3 id="RoutingSlip-Ignoreinvalidendpoints">Ignore invalid endpoints</h3>
-<p><strong>Available as of Camel 2.3</strong></p>
-
-<p>The <a shape="rect" href="routing-slip.html">Routing Slip</a> now supports
<code>ignoreInvalidEndpoints</code> which the <a shape="rect" href="recipient-list.html">Recipient
List</a> also supports. You can use it to skip endpoints which are invalid.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-    from(&quot;direct:a&quot;).routingSlip(&quot;myHeader&quot;).ignoreInvalidEndpoints();
+</div></div><h3 id="RoutingSlip-Ignoreinvalidendpoints">Ignore invalid
endpoints</h3><p><strong>Available as of Camel 2.3</strong></p><p>The
<a shape="rect" href="routing-slip.html">Routing Slip</a> now supports <code>ignoreInvalidEndpoints</code>
which the <a shape="rect" href="recipient-list.html">Recipient List</a> also supports.
You can use it to skip endpoints which are invalid.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   from(&quot;direct:a&quot;).routingSlip(&quot;myHeader&quot;).ignoreInvalidEndpoints();
 ]]></script>
-</div></div>
-
-<p>And in Spring XML its an attribute on the recipient list tag.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-   &lt;route&gt;
+</div></div><p>And in Spring XML its an attribute on the recipient list
tag.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
  &lt;route&gt;
        &lt;from uri=&quot;direct:a&quot;/&gt;
        &lt;routingSlip ignoreInvalidEndpoints=&quot;true&quot;/&gt;
          &lt;header&gt;myHeader&lt;/header&gt;
       &lt;/routingSlip&gt;
    &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<p>Then lets say the <code>myHeader</code> contains the following two endpoints
<code>direct:foo,xxx:bar</code>. The first endpoint is valid and works. However
the 2nd is invalid and will just be ignored. Camel logs at INFO level, so you can see why
the endpoint was invalid.</p>
-
-<h3 id="RoutingSlip-Expressionsupporting">Expression supporting</h3>
-<p><strong>Available as of Camel 2.4</strong></p>
-
-<p>The <a shape="rect" href="routing-slip.html">Routing Slip</a> now supports
to take the expression parameter as the <a shape="rect" href="recipient-list.html">Recipient
List</a> does. You can tell Camel the expression that you want to use to get the routing
slip.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-    from(&quot;direct:a&quot;).routingSlip(header(&quot;myHeader&quot;)).ignoreInvalidEndpoints();
+</div></div><p>Then lets say the <code>myHeader</code> contains
the following two endpoints <code>direct:foo,xxx:bar</code>. The first endpoint
is valid and works. However the 2nd is invalid and will just be ignored. Camel logs at INFO
level, so you can see why the endpoint was invalid.</p><h3 id="RoutingSlip-Expressionsupporting">Expression
supporting</h3><p><strong>Available as of Camel 2.4</strong></p><p>The
<a shape="rect" href="routing-slip.html">Routing Slip</a> now supports to take
the expression parameter as the <a shape="rect" href="recipient-list.html">Recipient
List</a> does. You can tell Camel the expression that you want to use to get the routing
slip.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   from(&quot;direct:a&quot;).routingSlip(header(&quot;myHeader&quot;)).ignoreInvalidEndpoints();
 ]]></script>
-</div></div>
-
-<p>And in Spring XML its an attribute on the recipient list tag.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-   &lt;route&gt;
+</div></div><p>And in Spring XML its an attribute on the recipient list
tag.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
  &lt;route&gt;
        &lt;from uri=&quot;direct:a&quot;/&gt;
        &lt;!--NOTE from Camel 2.4.0, you need to specify the expression element inside
of the routingSlip element --&gt;
        &lt;routingSlip ignoreInvalidEndpoints=&quot;true&quot;&gt;
@@ -189,16 +128,9 @@ from(&quot;direct:c&quot;).routingSlip(h
        &lt;/routingSlip&gt;
    &lt;/route&gt;
 ]]></script>
-</div></div>
+</div></div><h4 id="RoutingSlip-FurtherExamples">Further Examples</h4><p>For
further examples of this pattern in use you could look at the <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/routingslip">routing
slip test cases</a>.</p><p></p><h4 id="RoutingSlip-UsingThisPattern">Using
This Pattern</h4>
 
-<h4 id="RoutingSlip-FurtherExamples">Further Examples</h4>
-
-<p>For further examples of this pattern in use you could look at the <a shape="rect"
class="external-link" href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/routingslip">routing
slip test cases</a>.</p>
-
-<h4 id="RoutingSlip-UsingThisPattern">Using This Pattern</h4>
-
-<p>If you would like to use this EIP Pattern then please read the <a shape="rect"
href="getting-started.html">Getting Started</a>, you may also find the <a shape="rect"
href="architecture.html">Architecture</a> useful particularly the description of
<a shape="rect" href="endpoint.html">Endpoint</a> and <a shape="rect" href="uris.html">URIs</a>.
Then you could try out some of the <a shape="rect" href="examples.html">Examples</a>
first before trying this pattern out.</p>
-</div>
+<p>If you would like to use this EIP Pattern then please read the <a shape="rect"
href="getting-started.html">Getting Started</a>, you may also find the <a shape="rect"
href="architecture.html">Architecture</a> useful particularly the description of
<a shape="rect" href="endpoint.html">Endpoint</a> and <a shape="rect" href="uris.html">URIs</a>.
Then you could try out some of the <a shape="rect" href="examples.html">Examples</a>
first before trying this pattern out.</p></div>
         </td>
         <td valign="top">
           <div class="navigation">



Mime
View raw message