Modified: websites/production/camel/content/camel-2150-release.html
==============================================================================
--- websites/production/camel/content/camel-2150-release.html (original)
+++ websites/production/camel/content/camel-2150-release.html Tue Nov 11 
12:19:27 2014
@@ -84,7 +84,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 
id="Camel2.15.0Release-Camel2.15.0release(currentlyinprogress)">Camel&#160;2.15.0
 release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"; 
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png";></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.15.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the 2.15.0 release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li><span>Component documentation now included 
in the built component JARs. And Java API and JMX API to access that 
documentation. And APIs to explain an endpoint uri and what all those 
configured options mean.&#160;</span></li><li><span>Provide Configurer for user 
to configure the CXF conduit and CXF d
 estination from Java code</span></li><li><span><span>Added a 
<code>DelegateEndpoint</code>&#160;interface into Camel 
API</span></span></li><li>Support to setup the SslContextParameters in the <a 
shape="rect" href="restlet.html">camel-restlet</a> component</li><li>Java DSL - 
Should support nested choice in doTry .. doCatch</li><li><a shape="rect" 
href="mongodb.html">MongoDb</a> component now <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7996";>stores OIDs</a>&#160;of 
the inserted records in the message 
header</li><li>Added&#160;<code>org.apache.camel.spi.CamelContextRegistry</code><span>&#160;as
 a replacement for&#160;<code>org.apache.camel.spi.Container</code> and acting 
as global registry for all CamelContexts' in the JVM. Though its still intended 
for SPI's to hook into the lifecycle of creation 
of&#160;<code>CamelContext</code>'s and being able to influence behavior - such 
as adding insight or other capabilities.</span><br clear="none"><br
  clear="none"></li></ul><p>Fixed issues</p><ul><li>Fixed processors was not 
enlisted in JMX when routes was transacted.</li><li>Fixed the 
NullPointerException when using CXF endpoint with enrich</li><li>Fixed 
the&#160;endpointProperty of&#160;restConfiguration doesn't work 
issue</li><li>Fixed the issue that&#160;CircuitBreakerLoadBalancer fails on 
async processors</li><li>Fixed&#160;MyBatis consumer <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-8011";>ignoring 
maxMessagesPerPoll</a> option</li><li>Fixed potential issue 
with&#160;pollEnrich not triggering error handler if an exception was thrown in 
the polling.<br clear="none"><br clear="none"></li></ul><h3 
id="Camel2.15.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.15.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li><a shape="rect" 
href="beanstalk.html">camel-beanstalk</
 a> - for working with Amazon Beanstalk jobs.</li><li><a shape="rect" 
href="docker.html">camel-docker</a> - to communicate with 
Docker.</li><li>camel-github - for integrating with github</li><li>camel-jira - 
for integrating with JIRA issue tracker</li><li>camel-scr - for using Camel 
with <a shape="rect" class="external-link" 
href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html";>SCR</a>&#160;(OSGi
 declarative services) on OSGi containers such as Apache Karaf</li><li><a 
shape="rect" href="spring-boot.html">camel-spring-boot</a> - for using Camel 
with Spring Boot</li><li>camel-test-spring40 - for testing with Spring 4.0.x. 
camel-test-spring is for Spring 4.1.x onwards.</li></ul><h3 
id="Camel2.15.0Release-NewDSL">New DSL</h3><h3 
id="Camel2.15.0Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.15.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><h3 
id="Camel2.15.0Release-New.2">New <a s
 hape="rect" href="languages.html">Languages</a></h3><h3 
id="Camel2.15.0Release-New.3">New <a shape="rect" 
href="examples.html">Examples</a></h3><h3 id="Camel2.15.0Release-New.4">New <a 
shape="rect" href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.15.0Release-APIbreaking">API breaking</h2><h2 
id="Camel2.15.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.15.0Release-DependencyUpgrades"><span>Dependency 
Upgrades</span></h2><ul><li>AWS-Java-SDK 1.8.3 to 1.8.9.1</li><li>Codahale 
Metrics 3.0 to 3.1</li><li>Guava 17.0 to 18.0</li><li>Jsch 0.1.50 to 
0.1.51</li><li>Spring 4.0.7.RELEASE to 4.1.1.RELEASE</li><li>Spring Security 
3.1.7.RELEASE to 3.2.5.RELEASE</li></ul><h2 
id="Camel2.15.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Spring 4.1.x is now the default 
out of the box Spring version.</li><li><span style="color: rgb(0,0,0);">Unit 
testing with Spring 4.0.x requires using camel-test-spring40, as 
camel-test-spring is 
 for Spring 4.1 or better.</span></li><li><span style="color: 
rgb(0,0,0);">Remember to add&#160;<code class="java 
color1">@BootstrapWith</code><code class="java 
plain">(CamelTestContextBootstrapper.</code><code class="java 
keyword">class</code><code class="java plain">)</code>&#160;if upgrading from 
Spring 3.x or 4.0.x to Spring 4.1 onwards, and using the camel-test-spring 
module.</span></li></ul><h2 
id="Camel2.15.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.15.0Release-BinaryDistributions">Binary 
Distributions</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Windows 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><
 p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip";>apache-camel-2.15.0.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip.asc";>apache-camel-2.15.0.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz";>apache-camel-2.15.0.tar.gz</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz.asc";>apache-camel-2.15.0.tar.gz.asc</a></p></td></tr></tbody></table></div>
    <div class="aui-message hint sha
 dowed information-macro">
+<div class="wiki-content maincontent"><h1 
id="Camel2.15.0Release-Camel2.15.0release(currentlyinprogress)">Camel&#160;2.15.0
 release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"; 
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png";></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.15.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the 2.15.0 release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li><span>Component documentation now included 
in the built component JARs. And Java API and JMX API to access that 
documentation. And APIs to explain an endpoint uri and what all those 
configured options mean.&#160;</span></li><li><span>Provide Configurer for user 
to configure the CXF conduit and CXF d
 estination from Java code</span></li><li><span><span>Added a 
<code>DelegateEndpoint</code>&#160;interface into Camel 
API</span></span></li><li>Support to setup the SslContextParameters in the <a 
shape="rect" href="restlet.html">camel-restlet</a> component</li><li>Java DSL - 
Should support nested choice in doTry .. doCatch</li><li><a shape="rect" 
href="mongodb.html">MongoDb</a> component now <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7996";>stores OIDs</a>&#160;of 
the inserted records in the message 
header</li><li>Added&#160;<code>org.apache.camel.spi.CamelContextRegistry</code><span>&#160;as
 a replacement for&#160;<code>org.apache.camel.spi.Container</code> and acting 
as global registry for all CamelContexts' in the JVM. Though its still intended 
for SPI's to hook into the lifecycle of creation 
of&#160;<code>CamelContext</code>'s and being able to influence behavior - such 
as adding insight or other capabilities.</span></li><li><a shape="r
 ect" href="recipient-list.html">Recipient List</a> now supports specifying 
custom&#160;<a shape="rect" href="exchange-pattern.html">Exchange Pattern</a> 
in the endpoint ur's<br clear="none"><br clear="none"></li></ul><p>Fixed 
issues</p><ul><li>Fixed processors was not enlisted in JMX when routes was 
transacted.</li><li>Fixed the NullPointerException when using CXF endpoint with 
enrich</li><li>Fixed the&#160;endpointProperty of&#160;restConfiguration 
doesn't work issue</li><li>Fixed the issue that&#160;CircuitBreakerLoadBalancer 
fails on async processors</li><li>Fixed&#160;MyBatis consumer <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-8011";>ignoring 
maxMessagesPerPoll</a> option</li><li>Fixed potential issue 
with&#160;pollEnrich not triggering error handler if an exception was thrown in 
the polling.<br clear="none"><br clear="none"></li></ul><h3 
id="Camel2.15.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterp
 rise Integration Patterns</a></h3><h3 id="Camel2.15.0Release-New.1">New <a 
shape="rect" href="components.html">Components</a></h3><ul><li><a shape="rect" 
href="beanstalk.html">camel-beanstalk</a> - for working with Amazon Beanstalk 
jobs.</li><li><a shape="rect" href="docker.html">camel-docker</a> - to 
communicate with Docker.</li><li>camel-github - for integrating with 
github</li><li>camel-jira - for integrating with JIRA issue 
tracker</li><li>camel-scr - for using Camel with <a shape="rect" 
class="external-link" 
href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html";>SCR</a>&#160;(OSGi
 declarative services) on OSGi containers such as Apache Karaf</li><li><a 
shape="rect" href="spring-boot.html">camel-spring-boot</a> - for using Camel 
with Spring Boot</li><li>camel-test-spring40 - for testing with Spring 4.0.x. 
camel-test-spring is for Spring 4.1.x onwards.</li></ul><h3 
id="Camel2.15.0Release-NewDSL">New DSL</h3><h3 id="Camel2.15.0R
 elease-NewAnnotations">New Annotations</h3><h3 
id="Camel2.15.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><h3 
id="Camel2.15.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.15.0Release-New.3">New 
<a shape="rect" href="examples.html">Examples</a></h3><h3 
id="Camel2.15.0Release-New.4">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.15.0Release-APIbreaking">API breaking</h2><h2 
id="Camel2.15.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.15.0Release-DependencyUpgrades"><span>Dependency 
Upgrades</span></h2><ul><li>AWS-Java-SDK 1.8.3 to 1.8.9.1</li><li>Codahale 
Metrics 3.0 to 3.1</li><li>Guava 17.0 to 18.0</li><li>Jsch 0.1.50 to 
0.1.51</li><li>Spring 4.0.7.RELEASE to 4.1.1.RELEASE</li><li>Spring Security 
3.1.7.RELEASE to 3.2.5.RELEASE</li></ul><h2 
id="Camel2.15.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Sp
 ring 4.1.x is now the default out of the box Spring version.</li><li><span 
style="color: rgb(0,0,0);">Unit testing with Spring 4.0.x requires using 
camel-test-spring40, as camel-test-spring is for Spring 4.1 or 
better.</span></li><li><span style="color: rgb(0,0,0);">Remember to 
add&#160;<code class="java color1">@BootstrapWith</code><code class="java 
plain">(CamelTestContextBootstrapper.</code><code class="java 
keyword">class</code><code class="java plain">)</code>&#160;if upgrading from 
Spring 3.x or 4.0.x to Spring 4.1 onwards, and using the camel-test-spring 
module.</span></li></ul><h2 
id="Camel2.15.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.15.0Release-BinaryDistributions">Binary 
Distributions</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" 
class="con
 fluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip";>apache-camel-2.15.0.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip.asc";>apache-camel-2.15.0.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz";>apache-camel-2.15.0.tar.gz</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" hre
 
f="http://www.apache.org/dist/camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz.asc";>apache-camel-2.15.0.tar.gz.asc</a></p></td></tr></tbody></table></div>
    <div class="aui-message hint shadowed information-macro">
                     <p class="title">The above URLs use redirection</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">

Modified: websites/production/camel/content/recipient-list.html
==============================================================================
--- websites/production/camel/content/recipient-list.html (original)
+++ websites/production/camel/content/recipient-list.html Tue Nov 11 12:19:27 
2014
@@ -86,9 +86,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 
id="RecipientList-RecipientList">Recipient List</h3><p>The <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/RecipientList.html"; 
rel="nofollow">Recipient List</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you to 
route messages to a number of dynamically specified recipients.</p><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif";></p><p>The
 recipients will receive a copy of the <strong>same</strong> <a shape="rect" 
href="exchange.html">Exchange</a>, and Camel will execute them 
sequentially.</p><h3 id="RecipientList-Options">Options</h3><div 
class="confluenceTableSmall">
-<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="RecipientList-StaticRecipientList">Static Recipient 
List</h4><p>The following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to a static list of 
destinations</p><p><strong>Using Annotations</strong><br clear="none"> You can 
use the <a shape="rect" href="recipientlist-annotation.html">RecipientList 
Annotation</a> on a POJO to create a Dynamic Recipient List. For more details 
see the <a shape="rect" href="bean-integration.html">Bean 
Integration</a>.</p><p><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h3 
id="RecipientList-RecipientList">Recipient List</h3><p>The <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/RecipientList.html"; 
rel="nofollow">Recipient List</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you to 
route messages to a number of dynamically specified recipients.</p><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif";></p><p>The
 recipients will receive a copy of the <strong>same</strong> <a shape="rect" 
href="exchange.html">Exchange</a>, and Camel will execute them 
sequentially.</p><h3 id="RecipientList-Options">Options</h3><div 
class="confluenceTableSmall"><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/apidocs/org/apache/camel/processor/aggregate/AggregationStrategy.html";>AggregationStrategy</a>
 > that will assemble the replies from reci
 pients 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 whi
 ch 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 support
 s 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 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 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="RecipientList-StaticRecipientList">Static Recipient List</h4><p>The 
following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to a static list of 
destinations</p><p><strong>Using Annotations</strong><br clear="none"> You can 
use the <a shape="rect" href="recipientlis
 t-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() {
@@ -295,7 +293,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="RecipientList-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="RecipientList-UsingThisPattern">Using This Pattern</h4>
+<h3 
id="RecipientList-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="RecipientList-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="RecipientList-UsingThisPattern">Using 
This Pattern</h4>
 
 <p>If you would like to use this EIP Pattern then please read the <a 
shape="rect" href="getting-started.html">Getting Started</a>, you may also find 
the <a shape="rect" href="architecture.html">Architecture</a> useful 
particularly the description of <a shape="rect" 
href="endpoint.html">Endpoint</a> and <a shape="rect" 
href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" 
href="examples.html">Examples</a> first before trying this pattern 
out.</p></div>
         </td>


Reply via email to