Author: buildbot
Date: Fri Nov 18 10:21:39 2016
New Revision: 1001314

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/splitter.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 Fri Nov 18 10:21:39 
2016
@@ -3966,11 +3966,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>&#160;</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.rbtoc1479251885457 {padding: 0px;}
-div.rbtoc1479251885457 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1479251885457 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1479464366715 {padding: 0px;}
+div.rbtoc1479464366715 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1479464366715 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1479251885457">
+/*]]>*/</style></p><div class="toc-macro rbtoc1479464366715">
 <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>
@@ -6085,11 +6085,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.rbtoc1479251885637 {padding: 0px;}
-div.rbtoc1479251885637 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1479251885637 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1479464366982 {padding: 0px;}
+div.rbtoc1479464366982 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1479464366982 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1479251885637">
+/*]]>*/</style><div class="toc-macro rbtoc1479464366982">
 <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>
@@ -12318,7 +12318,7 @@ from(&quot;direct:start&quot;)
  </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><span 
class="confluence-embedded-file-wrapper"><img class="c
 onfluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif";></span></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.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>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 y
 ou can also use a POJO as the <code>AggregationStrategy</code>, see the <a 
shape="rect" href="aggregator2.html">Aggregate</a> page for more details. If an 
exception is thrown from the aggregate method in the AggregationStrategy, then 
by default, that exception&#160;is not handled by the error handler. The error 
handler can be enabled to react if enabling the shareUnitOfWork 
option.</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" cl
 ass="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>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="confluence
 Td"><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="confluen
 ceTd"><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><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 messages 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">Recip
 ient 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="confluen
 ceTd"><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> 
+  <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 y
 ou can also use a POJO as the <code>AggregationStrategy</code>, see the <a 
shape="rect" href="aggregator2.html">Aggregate</a> page for more details. If an 
exception is thrown from the aggregate method in the AggregationStrategy, then 
by default, that exception&#160;is not handled by the error handler. The error 
handler can be enabled to react if enabling the shareUnitOfWork 
option.</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" cl
 ass="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>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="confluence
 Td"><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 
achieve 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="confluen
 ceTd"><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><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 messages 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">Recip
 ient 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="confluen
 ceTd"><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 Exc
 hange.</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>
@@ -14323,8 +14323,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.rbtoc1479251887252 {padding: 0px;} div.rbtoc1479251887252 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1479251887252 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
- </p><div class="toc-macro rbtoc1479251887252"> 
+</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.rbtoc1479464384516 {padding: 0px;} div.rbtoc1479464384516 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1479464384516 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
+ </p><div class="toc-macro rbtoc1479464384516"> 
   <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 Fri Nov 18 
10:21:39 2016
@@ -670,7 +670,7 @@
  </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><span 
class="confluence-embedded-file-wrapper"><
 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";></span></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 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="#BookPatternAppendix-WhattheSplitterreturns">What the Splitter 
returns</a></em>. From <strong>Camel 2.12</strong> onw
 ards 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. If 
an exception is thrown from the aggregate method in the AggregationStrategy, 
then by default, that exception&#160;is not handled by the error handler. The 
error handler can be enabled to react if enabling the shareUnitOfWork 
option.</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 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>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="conf
 luenceTd"><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="co
 nfluenceTd"><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><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 messages 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="co
 nfluenceTd"><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> 
+  <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="#BookPatternAppendix-WhattheSplitterreturns">What the Splitter 
returns</a></em>. From <strong>Camel 2.12</strong> onw
 ards 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. If 
an exception is thrown from the aggregate method in the AggregationStrategy, 
then by default, that exception&#160;is not handled by the error handler. The 
error handler can be enabled to react if enabling the shareUnitOfWork 
option.</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 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>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="conf
 luenceTd"><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 
achieve 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="co
 nfluenceTd"><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><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 messages 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="co
 nfluenceTd"><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="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 Exc
 hange.</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>

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

Modified: websites/production/camel/content/splitter.html
==============================================================================
--- websites/production/camel/content/splitter.html (original)
+++ websites/production/camel/content/splitter.html Fri Nov 18 10:21:39 2016
@@ -87,7 +87,7 @@
         <tr>
         <td valign="top" width="100%">
 <div class="wiki-content maincontent"><h3 
id="Splitter-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><span 
class="confluence-embedded-file-wrapper"><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";></span></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="Splitter-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>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="#Splitter-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. If an 
exception is thrown from the aggregate method in the AggregationStrategy, then 
by default, that exception&#160;is not handled by the error handler. The error 
handler can be enabled to react if enabling the shareUnitOfWork 
option.</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="c
 onfluenceTd"><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>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="confluenceTd"><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><t
 r><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 
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 L
 ist</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>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>
+ <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="#Splitter-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. If an 
exception is thrown from the aggregate method in the AggregationStrategy, then 
by default, that exception&#160;is not handled by the error handler. The error 
handler can be enabled to react if enabling the shareUnitOfWork 
option.</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="c
 onfluenceTd"><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>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 achieve 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><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><t
 r><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 
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 L
 ist</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>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="Splitter-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 he
 ader 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="Splitter-Examples">Examples</h3><p>The following example shows how to take 
a request from the <strong>direct:a</strong> endpoint the split it into pieces 
using an <a shape="rect" href="expression.html">Expression</a>, then forward 
each piece to <strong>direct: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">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 RouteBuilder builder = new RouteBuilder() {


Reply via email to