Author: buildbot Date: Mon Feb 20 19:20:15 2017 New Revision: 1007063 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/book-in-one-page.html websites/production/camel/content/book-pattern-appendix.html websites/production/camel/content/cache/main.pageCache websites/production/camel/content/routing-slip.html Modified: websites/production/camel/content/book-in-one-page.html ============================================================================== --- websites/production/camel/content/book-in-one-page.html (original) +++ websites/production/camel/content/book-in-one-page.html Mon Feb 20 19:20:15 2017 @@ -3933,11 +3933,11 @@ The tutorial has been designed in two pa While not actual tutorials you might find working through the source of the various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul> <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</h2><p> </p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Thanks</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This tutorial was kindly donated to Apache Camel by Martin Gilday.</p></div></div><h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service. The route works in a synchronous fashion returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1487611171052 {padding: 0px;} -div.rbtoc1487611171052 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1487611171052 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1487618327775 {padding: 0px;} +div.rbtoc1487618327775 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1487618327775 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1487611171052"> +/*]]>*/</style></p><div class="toc-macro rbtoc1487618327775"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-About">About</a></li><li><a shape="rect" href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul> </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the Server</a> @@ -6052,11 +6052,11 @@ So we completed the last piece in the pi <p>This example has been removed from <strong>Camel 2.9</strong> onwards. Apache Axis 1.4 is a very old and unsupported framework. We encourage users to use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div> <style type="text/css">/*<![CDATA[*/ -div.rbtoc1487611171602 {padding: 0px;} -div.rbtoc1487611171602 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1487611171602 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1487618328373 {padding: 0px;} +div.rbtoc1487618328373 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1487618328373 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style><div class="toc-macro rbtoc1487611171602"> +/*]]>*/</style><div class="toc-macro rbtoc1487618328373"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#BookInOnePage-RunningtheExample">Running the Example</a></li></ul> @@ -12750,13 +12750,13 @@ from("direct:start") </div> </div><p>A full example of the static Scatter-Gather configuration can be found in the <a shape="rect" href="loan-broker-example.html">Loan Broker Example</a>.</p><h4 id="BookInOnePage-UsingThisPattern.22">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><h3 id="BookInOnePage-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><span class="confluence-embedded-file-wrapper"><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"></span></p><h3 id="BookInOnePage-Options.12">Options</h3><div class="confluenceTableSmall"> <div class="table-wrap"> - <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">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.</p><p>Otherwise, Camel will throw an exception stating the endpoint URI is not valid.</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 <strong><code>ProducerCache</code></strong> which caches producers for reuse in the routing slip.</p><p>The default cache size which is <strong><code>1000</code></strong>.</p><p>A value of <strong><code>-1</code></strong> disables the use of the cache.</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>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">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.</p><p>Otherwise, Camel will throw an exception stating the endpoint URI is not valid.</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 <strong><code>ProducerCache</code></strong> which caches producers for reuse in the routing slip.</p><p>The default cache size is <strong><code>1000</code></strong>.</p><p>A value of <strong><code>-1</code></strong> disables the use of the cache.</p></td></tr></tbody></table> </div> </div><h4 id="BookInOnePage-Example.9">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><code>SomeQueue</code></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="brush: java; gutter: false; theme: Default" type="syntaxhighlighter">from(&quot;activemq:SomeQueue&quot;) .routingSlip(&quot;aRoutingSlipHeader&quot;); </script> </div> -</div><p>Messages will be checked for the existence of the <strong><code>aRoutingSlipHeader</code></strong> 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. From <strong>Camel 2.5</strong> the <a shape="rect" href="routing-slip.html">Routing Slip</a> will set a property, <strong><code>Exchange.SLIP_ENDPOINT</code>, </strong>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 sli p <em>on-the-fly</em> then use the <a shape="rect" href="dynamic-router.html">Dynamic Router</a> pattern instead.</p><h4 id="BookInOnePage-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> +</div><p>Messages will be checked for the existence of the <strong><code>aRoutingSlipHeader</code></strong> 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. From <strong>Camel 2.5</strong> the <a shape="rect" href="routing-slip.html">Routing Slip</a> will set a property, <strong><code>Exchange.SLIP_ENDPOINT</code></strong>, 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 sli p <em>on-the-fly</em> then use the <a shape="rect" href="dynamic-router.html">Dynamic Router</a> pattern instead.</p><h4 id="BookInOnePage-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="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"> from(&quot;direct:c&quot;).routingSlip(header(&quot;aRoutingSlipHeader&quot;), &quot;#&quot;); </script> @@ -14245,8 +14245,8 @@ cometds://localhost:8443/service/mychann <div class="confluence-information-macro-body"> <p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p> </div> -</div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ div.rbtoc1487611182662 {padding: 0px;} div.rbtoc1487611182662 ul {list-style: disc;margin-left: 0px;} div.rbtoc1487611182662 li {margin-left: 0px;padding-left: 0px;} /**/</style> - </p><div class="toc-macro rbtoc1487611182662"> +</div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ div.rbtoc1487618332880 {padding: 0px;} div.rbtoc1487618332880 ul {list-style: disc;margin-left: 0px;} div.rbtoc1487618332880 li {margin-left: 0px;padding-left: 0px;} /**/</style> + </p><div class="toc-macro rbtoc1487618332880"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-CXFComponent">CXF Component</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" href="#BookInOnePage-Options">Options</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the dataformats</a> Modified: websites/production/camel/content/book-pattern-appendix.html ============================================================================== --- websites/production/camel/content/book-pattern-appendix.html (original) +++ websites/production/camel/content/book-pattern-appendix.html Mon Feb 20 19:20:15 2017 @@ -1128,13 +1128,13 @@ </div> </div><p>A full example of the static Scatter-Gather configuration can be found in the <a shape="rect" href="loan-broker-example.html">Loan Broker Example</a>.</p><h4 id="BookPatternAppendix-UsingThisPattern.22">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><h3 id="BookPatternAppendix-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><span class="confluence-embedded-file-wrapper"><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"></span></p><h3 > id="BookPatternAppendix-Options.3">Options</h3><div > class="confluenceTableSmall"> <div class="table-wrap"> - <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">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.</p><p>Otherwise, Camel will throw an exception stating the endpoint URI is not valid.</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 <strong><code>ProducerCache</code></strong> which caches producers for reuse in the routing slip.</p><p>The default cache size which is <strong><code>1000</code></strong>.</p><p>A value of <strong><code>-1</code></strong> disables the use of the cache.</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>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">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.</p><p>Otherwise, Camel will throw an exception stating the endpoint URI is not valid.</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 <strong><code>ProducerCache</code></strong> which caches producers for reuse in the routing slip.</p><p>The default cache size is <strong><code>1000</code></strong>.</p><p>A value of <strong><code>-1</code></strong> disables the use of the cache.</p></td></tr></tbody></table> </div> </div><h4 id="BookPatternAppendix-Example.3">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><code>SomeQueue</code></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="brush: java; gutter: false; theme: Default" type="syntaxhighlighter">from(&quot;activemq:SomeQueue&quot;) .routingSlip(&quot;aRoutingSlipHeader&quot;); </script> </div> -</div><p>Messages will be checked for the existence of the <strong><code>aRoutingSlipHeader</code></strong> 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. From <strong>Camel 2.5</strong> the <a shape="rect" href="routing-slip.html">Routing Slip</a> will set a property, <strong><code>Exchange.SLIP_ENDPOINT</code>, </strong>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 sli p <em>on-the-fly</em> then use the <a shape="rect" href="dynamic-router.html">Dynamic Router</a> pattern instead.</p><h4 id="BookPatternAppendix-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> +</div><p>Messages will be checked for the existence of the <strong><code>aRoutingSlipHeader</code></strong> 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. From <strong>Camel 2.5</strong> the <a shape="rect" href="routing-slip.html">Routing Slip</a> will set a property, <strong><code>Exchange.SLIP_ENDPOINT</code></strong>, 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 sli p <em>on-the-fly</em> then use the <a shape="rect" href="dynamic-router.html">Dynamic Router</a> pattern instead.</p><h4 id="BookPatternAppendix-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="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"> from(&quot;direct:c&quot;).routingSlip(header(&quot;aRoutingSlipHeader&quot;), &quot;#&quot;); </script> Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/routing-slip.html ============================================================================== --- websites/production/camel/content/routing-slip.html (original) +++ websites/production/camel/content/routing-slip.html Mon Feb 20 19:20:15 2017 @@ -87,12 +87,12 @@ <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><span class="confluence-embedded-file-wrapper"><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"></span></p><h3 id="RoutingSlip-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"> - <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">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.</p><p>Otherwise, Camel will throw an exception stating the endpoint URI is not valid.</p></td></tr><tr><td c olspan="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 <strong><code>ProducerCache</code></strong> which caches producers for reuse in the routing slip.</p><p>The default cache size which is <strong><code>1000</code></strong>.</p><p>A value of <strong><code>-1</code></strong> disables the use of the cache.</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>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">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.</p><p>Otherwise, Camel will throw an exception stating the endpoint URI is not valid.</p></td></tr><tr><td c olspan="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 <strong><code>ProducerCache</code></strong> which caches producers for reuse in the routing slip.</p><p>The default cache size is <strong><code>1000</code></strong>.</p><p>A value of <strong><code>-1</code></strong> disables the use of the cache.</p></td></tr></tbody></table> </div></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><code>SomeQueue</code></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="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from("activemq:SomeQueue") .routingSlip("aRoutingSlipHeader"); ]]></script> -</div></div><p>Messages will be checked for the existence of the <strong><code>aRoutingSlipHeader</code></strong> 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. From <strong>Camel 2.5</strong> the <a shape="rect" href="routing-slip.html">Routing Slip</a> will set a property, <strong><code>Exchange.SLIP_ENDPOINT</code>, </strong>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 t he 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 existence of the <strong><code>aRoutingSlipHeader</code></strong> 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. From <strong>Camel 2.5</strong> the <a shape="rect" href="routing-slip.html">Routing Slip</a> will set a property, <strong><code>Exchange.SLIP_ENDPOINT</code></strong>, 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 t he 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="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ from("direct:c").routingSlip(header("aRoutingSlipHeader"), "#"); ]]></script>