Author: buildbot
Date: Tue Nov 11 12:19:27 2014
New Revision: 928749

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/camel-2150-release.html
    websites/production/camel/content/recipient-list.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 Tue Nov 11 12:19:27 
2014
@@ -4120,11 +4120,11 @@ While not actual tutorials you might fin
                     </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.rbtoc1415539133129 {padding: 0px;}
-div.rbtoc1415539133129 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1415539133129 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1415708274671 {padding: 0px;}
+div.rbtoc1415708274671 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1415708274671 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1415539133129">
+/*]]>*/</style></p><div class="toc-macro rbtoc1415708274671">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect" 
href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a 
shape="rect" 
href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a 
shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a 
shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the 
Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing 
the Server</a>
@@ -6310,11 +6310,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1415539133484 {padding: 0px;}
-div.rbtoc1415539133484 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1415539133484 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1415708277891 {padding: 0px;}
+div.rbtoc1415708277891 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1415708277891 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1415539133484">
+/*]]>*/</style><div class="toc-macro rbtoc1415708277891">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using 
Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a 
shape="rect" 
href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a 
shape="rect" 
href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a 
shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting 
up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the 
Example</a></li></ul>
@@ -14469,9 +14469,7 @@ public String slip(String body, @Propert
 </div></div><p>In the above we can use the <a shape="rect" 
href="parameter-binding-annotations.html">Parameter Binding Annotations</a> to 
bind different parts of the <a shape="rect" href="message.html">Message</a> to 
method parameters or use an <a shape="rect" 
href="expression.html">Expression</a> such as using <a shape="rect" 
href="xpath.html">XPath</a> or <a shape="rect" 
href="xquery.html">XQuery</a>.</p><p>The method can be invoked in a number of 
ways as described in the <a shape="rect" href="bean-integration.html">Bean 
Integration</a> such as</p><ul><li><a shape="rect" 
href="pojo-producing.html">POJO Producing</a></li><li><a shape="rect" 
href="spring-remoting.html">Spring Remoting</a></li><li><a shape="rect" 
href="bean.html">Bean</a> component</li></ul><p></p><h4 
id="BookInOnePage-UsingThisPattern.16">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-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="BookInOnePage-Options.11">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>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">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/apidoc
 
s/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">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">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">Aggregate</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">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><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>parallelAggregate</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.14:</strong> If enabled then the <code>aggregate</code> method on 
<code>AggregationStrategy</code> can be called concurrently. Notice that this 
would require the implementation of <code>AggregationStrategy</code> to be 
implemented as thread-safe. By default this is <code>false</code> meaning that 
Camel synchronizes the call to the <code>aggregate</code> method. Though in 
some use-cases this can be used to archive higher performance when the 
<code>AggregationStrategy</code> is implemented as thre
 ad-safe. </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">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. I
 f disabled, Camel will process replies in the same order as specified by the 
<a shape="rect" href="expression.html">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">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">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">Processor</a> to prepare the copy of the <a 
shape="rect" href="exchange.html">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 
col
 span="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 <code>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>
-</div><h4 id="BookInOnePage-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">
+<h3 id="BookInOnePage-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="BookInOnePage-Options.11">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" ro
 wspan="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">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 messa
 ge from the <a shape="rect" href="recipient-list.html">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">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">Aggregate</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">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><td
  colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>parallelAggregate</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.14:</strong> If enabled 
then the <code>aggregate</code> method on <code>AggregationStrategy</code> can 
be called concurrently. Notice that this would require the implementation of 
<code>AggregationStrategy</code> to be implemented as thread-safe. By default 
this is <code>false</code> meaning that Camel synchronizes the call to the 
<code>aggregate</code> method. Though in some use-cases this can be used to 
archive higher performance when the <code>AggregationStrategy</code> is 
implemented as thread-safe.</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">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">Expression</a>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>t
 imeout</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">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">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 conti
 nue 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">Processor</a> to prepare the copy of the <a 
shape="rect" href="exchange.html">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 <code>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></div><h4 
id="BookInOnePage-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 An
 notation</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() {
     public void configure() {
@@ -14678,7 +14676,18 @@ from(&quot;direct:c&quot;).to(&quot;mock
                             <p>The timeout is total, which means that after X 
time, Camel will aggregate the messages which has completed within the 
timeframe. The remainders will be cancelled. Camel will also only invoke the 
<code>timeout</code> method in the <code>TimeoutAwareAggregationStrategy</code> 
once, for the first index which caused the timeout.</p>
                     </div>
     </div>
-<h3 
id="BookInOnePage-UsingonPreparetoexecutecustomlogicwhenpreparingmessages">Using
 onPrepare to execute custom logic when preparing 
messages</h3><p><strong>Available as of Camel 2.8</strong></p><p>See details at 
<a shape="rect" href="multicast.html">Multicast</a></p><p></p><h4 
id="BookInOnePage-UsingThisPattern.17">Using This Pattern</h4>
+<h3 
id="BookInOnePage-UsingonPreparetoexecutecustomlogicwhenpreparingmessages">Using
 onPrepare to execute custom logic when preparing 
messages</h3><p><strong>Available as of Camel 2.8</strong></p><p>See details at 
<a shape="rect" href="multicast.html">Multicast</a></p><h3 
id="BookInOnePage-UsingExchangePatterninrecipients">Using ExchangePattern in 
recipients</h3><p><strong>Available as of Camel 2.15</strong></p><p>The 
recipient list will by default use the current&#160;<a shape="rect" 
href="exchange-pattern.html">Exchange Pattern</a>. Though there can be 
use-cases where you want to send a message to a recipient using a different 
exchange pattern. For example you may have a route that initiates as a InOnly 
route, but want to use InOut exchange pattern with a recipient list. To do this 
in earlier Camel releases, you would need to change the&#160;exchange pattern 
before the recipient list, or use onPrepare option to alter the pattern. Now 
from Camel 2.15 onwards, you can configure the 
 exchange pattern directly in the recipient endpoints.</p><p>For example in the 
route below we pickup new files (which will started as InOnly) and then route 
to a recipient list. As we want to use InOut with the ActiveMQ (JMS) endpoint 
we can now specify this using the exchangePattern=InOut option. Then the 
response form the JMS request/reply will then be continued routed, and thus the 
response is what will be stored in as a file in the outbox directory.</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;file:inbox&quot;)
+  // the exchange pattern is InOnly initially when using a file route
+  
.recipientList().constant(&quot;activemq:queue:inbox?exchangePattern=InOut&quot;)
+  .to(&quot;file:outbox&quot;);]]></script>
+</div></div>    <div class="aui-message warning shadowed information-macro">
+                            <span class="aui-icon icon-warning">Icon</span>
+                <div class="message-content">
+                            <p>The recipient list will not alter the original 
exchange pattern. So in the example above the exchange pattern will still be 
InOnly when the message is routed to the file:outbox endpoint.</p><p>If you 
want to alter the exchange pattern permanently then use the .setExchangePattern 
option. See more details at <a shape="rect" href="request-reply.html">Request 
Reply</a> and <a shape="rect" href="event-message.html">Event Message</a>.</p>
+                    </div>
+    </div>
+<p>&#160;</p><p>&#160;</p><p></p><h4 
id="BookInOnePage-UsingThisPattern.17">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-Splitter">Splitter</h3><p>The <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/Sequencer.html"; 
rel="nofollow">Splitter</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you split a 
message into a number of pieces and process them individually</p><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif";></p><p>You
 need to specify a Splitter as <code>split()</code>. In earlier versions of 
Camel, you need to use <code>splitter()</code>.</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>strategyRef</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Refers to 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>
 to be used to assemble the replies from the sub-messages, into a single 
outgoing message from the <a shape="rect" href="splitter.html">Splitter</a>. 
See the defaults described below in <em><a shape="rect" 
href="#BookInOnePage-WhattheSplitterreturns">What the Splitter 
returns</a></em>. 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">Aggregate</a> page for more 
details.</p></td></tr><tr><td colspan="1" r
 owspan="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">Aggregate</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 for the 
very first splitted message. If this option is <code>true</code> then 
<code>null</code> values is used as the <code>oldExchange</code> (for the very 
first message splitted), when using POJOs as the <code>Ag
 gregationStrategy</code>. See the <a shape="rect" 
href="aggregator2.html">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>If enabled then processing the sub-messages 
occurs concurrently. Note the caller thread will still wait until all 
sub-messages has been fully processed, before it continues.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>parallelAggregate</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.14:</strong> If enabled 
then the <code>aggregate</code> method on <code>AggregationStrategy</code> can 
be called concurrently. Notice that this would 
 require the implementation of <code>AggregationStrategy</code> to be 
implemented as thread-safe. By default this is <code>false</code> meaning that 
Camel synchronizes the call to the <code>aggregate</code> method. Though in 
some use-cases this can be used to archive higher performance when the 
<code>AggregationStrategy</code> is implemented as 
thread-safe.</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>Refers to a custom <a shape="rect" 
href="threading-model.html">Thread Pool</a> to be used for parallel processing. 
Notice if you set this option, then parallel processing is automatically 
implied, and you do not have to 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><cod
 e>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.2:</strong> Whether or not to stop 
continue processing immediately when an exception occurred. If disable, then 
Camel continue splitting and process the sub-messages regardless if one of them 
failed. You can deal with exceptions in the <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>
 class where you have full control how to handle that.</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>If enabled then Camel will split in a 
streaming fashion, which means it will split the input message in chunks. This 
reduces the memory overhead. For example if you split big messages its recommend
 ed to enable streaming. If streaming is enabled then the sub-message replies 
will be aggregated out-of-order, eg in the order they come back. If disabled, 
Camel will process sub-message replies in the same order as they where 
splitted.</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> Sets a total timeout 
specified in millis. If the <a shape="rect" 
href="recipient-list.html">Recipient List</a> hasn't been able to split and 
process all replies within the given timeframe, then the timeout triggers and 
the <a shape="rect" href="splitter.html">Splitter</a> breaks out and continues. 
Notice 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";>TimeoutAwareAggre
 gationStrategy</a> then the <code>timeout</code> method is invoked before 
breaking out. 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> Refers to a custom <a 
shape="rect" href="processor.html">Processor</a> to prepare the sub-message of 
the <a shape="rect" href="exchange.html">Exchange</a>, before its processed. 
This allows you to do any custom logic, such as deep-cloning the message 
payload if that's needed etc.</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 further below for more 
details.</p></td></tr></tbody></table></div></div><h3 
id="BookInOnePage-Exchangeproperties">Exchange properties</h3><p>The following 
properties are set on each Exchange that are split:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>property</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSplitIndex</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A split counter that increases for each 
Exchange being split. The counter starts from 0.<
 /p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSplitSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The total number of Exchanges that was splitted. This 
header is not applied for stream based splitting. From <strong>Camel 
2.9</strong> onwards this header is also set in stream based splitting, but 
only on the completed Exchange.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSplitComplete</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.4:</strong> Whether or not this 
Exchange is the last.</p></td></tr></tbody></table></div><h3 
id="BookInOnePage-Examples.7">Examples</h3><p>The following example shows how 
to take a request from the <strong>queue:a</strong> endpoint the split it into 
pieces using an <a shape="rect" href="expression.h
 tml">Expression</a>, then forward each piece to 
<strong>queue:b</strong></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">
@@ -19767,11 +19776,11 @@ template.send(&quot;direct:alias-verify&
                     </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">/*<![CDATA[*/
-div.rbtoc1415539136984 {padding: 0px;}
-div.rbtoc1415539136984 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1415539136984 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1415708293418 {padding: 0px;}
+div.rbtoc1415708293418 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1415708293418 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1415539136984">
+/*]]>*/</style></p><div class="toc-macro rbtoc1415708293418">
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF 
Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI 
format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#CXF-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 Tue Nov 11 
12:19:27 2014
@@ -1270,9 +1270,7 @@ public String slip(String body, @Propert
 </div></div><p>In the above we can use the <a shape="rect" 
href="parameter-binding-annotations.html">Parameter Binding Annotations</a> to 
bind different parts of the <a shape="rect" href="message.html">Message</a> to 
method parameters or use an <a shape="rect" 
href="expression.html">Expression</a> such as using <a shape="rect" 
href="xpath.html">XPath</a> or <a shape="rect" 
href="xquery.html">XQuery</a>.</p><p>The method can be invoked in a number of 
ways as described in the <a shape="rect" href="bean-integration.html">Bean 
Integration</a> such as</p><ul><li><a shape="rect" 
href="pojo-producing.html">POJO Producing</a></li><li><a shape="rect" 
href="spring-remoting.html">Spring Remoting</a></li><li><a shape="rect" 
href="bean.html">Bean</a> component</li></ul><p></p><h4 
id="BookPatternAppendix-UsingThisPattern.16">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-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="BookPatternAppendix-Options.1">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>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">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/apidoc
 
s/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">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">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">Aggregate</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">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><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>parallelAggregate</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.14:</strong> If enabled then the <code>aggregate</code> method on 
<code>AggregationStrategy</code> can be called concurrently. Notice that this 
would require the implementation of <code>AggregationStrategy</code> to be 
implemented as thread-safe. By default this is <code>false</code> meaning that 
Camel synchronizes the call to the <code>aggregate</code> method. Though in 
some use-cases this can be used to archive higher performance when the 
<code>AggregationStrategy</code> is implemented as thre
 ad-safe. </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">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. I
 f disabled, Camel will process replies in the same order as specified by the 
<a shape="rect" href="expression.html">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">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">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">Processor</a> to prepare the copy of the <a 
shape="rect" href="exchange.html">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 
col
 span="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 <code>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>
-</div><h4 id="BookPatternAppendix-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">
+<h3 id="BookPatternAppendix-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="BookPatternAppendix-Options.1">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 col
 span="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">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 out
 going message from the <a shape="rect" href="recipient-list.html">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">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">Aggregate</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">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><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>parallelAggregate</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.14:</strong> If enabled 
then the <code>aggregate</code> method on <code>AggregationStrategy</code> can 
be called concurrently. Notice that this would require the implementation of 
<code>AggregationStrategy</code> to be implemented as thread-safe. By default 
this is <code>false</code> meaning that Camel synchronizes the call to the 
<code>aggregate</code> method. Though in some use-cases this can be used to 
archive higher performance when the <code>AggregationStrategy</code> is 
implemented as thread-safe.</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">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">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">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">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 manne
 r 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">Processor</a> to prepare the copy of the <a shape="rect" 
href="exchange.html">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="r
 ect" 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 <code>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></div><h4 
id="BookPatternAppendix-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() {
     public void configure() {
@@ -1479,7 +1477,18 @@ from(&quot;direct:c&quot;).to(&quot;mock
                             <p>The timeout is total, which means that after X 
time, Camel will aggregate the messages which has completed within the 
timeframe. The remainders will be cancelled. Camel will also only invoke the 
<code>timeout</code> method in the <code>TimeoutAwareAggregationStrategy</code> 
once, for the first index which caused the timeout.</p>
                     </div>
     </div>
-<h3 
id="BookPatternAppendix-UsingonPreparetoexecutecustomlogicwhenpreparingmessages">Using
 onPrepare to execute custom logic when preparing 
messages</h3><p><strong>Available as of Camel 2.8</strong></p><p>See details at 
<a shape="rect" href="multicast.html">Multicast</a></p><p></p><h4 
id="BookPatternAppendix-UsingThisPattern.17">Using This Pattern</h4>
+<h3 
id="BookPatternAppendix-UsingonPreparetoexecutecustomlogicwhenpreparingmessages">Using
 onPrepare to execute custom logic when preparing 
messages</h3><p><strong>Available as of Camel 2.8</strong></p><p>See details at 
<a shape="rect" href="multicast.html">Multicast</a></p><h3 
id="BookPatternAppendix-UsingExchangePatterninrecipients">Using ExchangePattern 
in recipients</h3><p><strong>Available as of Camel 2.15</strong></p><p>The 
recipient list will by default use the current&#160;<a shape="rect" 
href="exchange-pattern.html">Exchange Pattern</a>. Though there can be 
use-cases where you want to send a message to a recipient using a different 
exchange pattern. For example you may have a route that initiates as a InOnly 
route, but want to use InOut exchange pattern with a recipient list. To do this 
in earlier Camel releases, you would need to change the&#160;exchange pattern 
before the recipient list, or use onPrepare option to alter the pattern. Now 
from Camel 2.15 onwards, you can co
 nfigure the exchange pattern directly in the recipient endpoints.</p><p>For 
example in the route below we pickup new files (which will started as InOnly) 
and then route to a recipient list. As we want to use InOut with the ActiveMQ 
(JMS) endpoint we can now specify this using the exchangePattern=InOut option. 
Then the response form the JMS request/reply will then be continued routed, and 
thus the response is what will be stored in as a file in the outbox 
directory.</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;file:inbox&quot;)
+  // the exchange pattern is InOnly initially when using a file route
+  
.recipientList().constant(&quot;activemq:queue:inbox?exchangePattern=InOut&quot;)
+  .to(&quot;file:outbox&quot;);]]></script>
+</div></div>    <div class="aui-message warning shadowed information-macro">
+                            <span class="aui-icon icon-warning">Icon</span>
+                <div class="message-content">
+                            <p>The recipient list will not alter the original 
exchange pattern. So in the example above the exchange pattern will still be 
InOnly when the message is routed to the file:outbox endpoint.</p><p>If you 
want to alter the exchange pattern permanently then use the .setExchangePattern 
option. See more details at <a shape="rect" href="request-reply.html">Request 
Reply</a> and <a shape="rect" href="event-message.html">Event Message</a>.</p>
+                    </div>
+    </div>
+<p>&#160;</p><p>&#160;</p><p></p><h4 
id="BookPatternAppendix-UsingThisPattern.17">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-Splitter">Splitter</h3><p>The <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/Sequencer.html"; 
rel="nofollow">Splitter</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you split a 
message into a number of pieces and process them individually</p><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif";></p><p>You
 need to specify a Splitter as <code>split()</code>. In earlier versions of 
Camel, you need to use <code>splitter()</code>.</p><h3 
id="BookPatternAppendix-Options.2">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 Val
 ue</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></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>Refers to 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>
 to be used to assemble the replies from the sub-messages, into a single 
outgoing message from the <a shape="rect" href="splitter.html">Splitter</a>. 
See the defaults described below in <em><a shape="rect" 
href="#BookPatternAppendix-WhattheSplitterreturns">What the Splitter 
returns</a></em>. 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">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">Aggregate</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 for the 
very first splitted message. If this option is <code>true</code> then 
<code>null</code> values is used as the <code>oldExchange</code> (for the very 
first message splitted), when using POJO
 s as the <code>AggregationStrategy</code>. See the <a shape="rect" 
href="aggregator2.html">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>If enabled then processing the sub-messages 
occurs concurrently. Note the caller thread will still wait until all 
sub-messages has been fully processed, before it continues.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>parallelAggregate</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.14:</strong> If enabled 
then the <code>aggregate</code> method on <code>AggregationStrategy</code> can 
be called concurrently. Notice
  that this would require the implementation of 
<code>AggregationStrategy</code> to be implemented as thread-safe. By default 
this is <code>false</code> meaning that Camel synchronizes the call to the 
<code>aggregate</code> method. Though in some use-cases this can be used to 
archive higher performance when the <code>AggregationStrategy</code> is 
implemented as thread-safe.</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>Refers to a custom <a shape="rect" 
href="threading-model.html">Thread Pool</a> to be used for parallel processing. 
Notice if you set this option, then parallel processing is automatically 
implied, and you do not have to 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="conf
 luenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.2:</strong> Whether or not to stop 
continue processing immediately when an exception occurred. If disable, then 
Camel continue splitting and process the sub-messages regardless if one of them 
failed. You can deal with exceptions in the <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>
 class where you have full control how to handle that.</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>If enabled then Camel will split in a 
streaming fashion, which means it will split the input message in chunks. This 
reduces the memory overhead. For example if you split big messa
 ges its recommended to enable streaming. If streaming is enabled then the 
sub-message replies will be aggregated out-of-order, eg in the order they come 
back. If disabled, Camel will process sub-message replies in the same order as 
they where splitted.</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> Sets a total timeout 
specified in millis. If the <a shape="rect" 
href="recipient-list.html">Recipient List</a> hasn't been able to split and 
process all replies within the given timeframe, then the timeout triggers and 
the <a shape="rect" href="splitter.html">Splitter</a> breaks out and continues. 
Notice 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> then the <code>timeout</code> method is 
invoked before breaking out. 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> Refers to a custom <a 
shape="rect" href="processor.html">Processor</a> to prepare the sub-message of 
the <a shape="rect" href="exchange.html">Exchange</a>, before its processed. 
This allows you to do any custom logic, such as deep-cloning the message 
payload if that's needed etc.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>shareUnit
 OfWork</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 further below for more 
details.</p></td></tr></tbody></table></div></div><h3 
id="BookPatternAppendix-Exchangeproperties">Exchange properties</h3><p>The 
following properties are set on each Exchange that are split:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>property</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSplitIndex</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A split counter that increases for each 
Exchange being split. The 
 counter starts from 0.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSplitSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The total number of Exchanges that was splitted. This 
header is not applied for stream based splitting. From <strong>Camel 
2.9</strong> onwards this header is also set in stream based splitting, but 
only on the completed Exchange.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSplitComplete</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>boolean</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.4:</strong> Whether or not this 
Exchange is the last.</p></td></tr></tbody></table></div><h3 
id="BookPatternAppendix-Examples">Examples</h3><p>The following example shows 
how to take a request from the <strong>queue:a</strong> endpoint the split it 
into pieces using an <a shap
 e="rect" href="expression.html">Expression</a>, then forward each piece to 
<strong>queue:b</strong></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">

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


Reply via email to