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 Thu Sep 11 10:19:20 
2014
@@ -661,7 +661,9 @@ disruptor-vm:someName[?<option>]
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used by 
Camel applications outside Google App Engine (GAE) for programmatic login to 
GAE applications. See also <a shape="rect" href="gae.html">Camel Components for 
Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="gtask.html">GTask</a> / <a 
shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[gtask://queue-name[?options]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports 
asynchronous message processing on Google App Engine by using the <a 
shape="rect" class="external-link" 
href="http://code.google.com/appengine/docs/java/taskqueue/"; 
rel="nofollow">task queueing service</a> as message queue. See also <a 
shape="rect" href="gae.html">Camel Components for Google App 
Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="gmail.html">GMail</a> / <a 
shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports 
asynchronous message processing on Google App Engine by using the <a 
shape="rect" class="external-link" 
href="http://code.google.com/appengine/docs/java/taskqueue/"; 
rel="nofollow">task queueing service</a> as message queue. See also <a 
shape="rect" href="gae.html">Camel Components for Google App 
Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="googledrive.html">Google 
Drive</a> / <a shape="rect" 
href="googledrive.html">camel-google-drive</a></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[google-drive://endpoint-prefix/endpoint?[options]]]></script>
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports 
interaction with <a shape="rect" class="external-link" 
href="https://developers.google.com/drive/v2/reference/"; rel="nofollow">Google 
Drive's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="gmail.html">GMail</a> / <a 
shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[gmail://user@g[oogle]mail.com[?options]
 ]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports 
sending of emails via the <a shape="rect" class="external-link" 
href="http://code.google.com/appengine/docs/java/mail/"; rel="nofollow">mail 
service</a> of Google App Engine. See also <a shape="rect" 
href="gae.html">Camel Components for Google App 
Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="gora.html">Gora</a><span>/ 
camel-gora</span></p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
@@ -802,7 +804,10 @@ disruptor-vm:someName[?&lt;option&gt;]
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working 
with TCP and UDP protocols using Java NIO based capabilities offered by the <a 
shape="rect" class="external-link" href="http://netty.io/"; 
rel="nofollow">Netty</a> project</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="netty-http.html">Netty HTTP</a> / 
camel-netty-http</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[netty-http:http:[port]/context-path[?options]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Netty 
HTTP server and client using the <a shape="rect" class="external-link" 
href="http://netty.io/"; rel="nofollow">Netty</a> project</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="optaplanner.html">O</a><a shape="rect" href="openshift.html">penshift</a> 
/ camel-openshift</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Netty 
HTTP server and client using the <a shape="rect" class="external-link" 
href="http://netty.io/"; rel="nofollow">Netty</a> project</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="olingo2.html">Olingo2</a> / camel-olingo2</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[olingo2:endpoint/resource-path[?options]
+]]></script>
+</div></div></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Communicates with <a shape="rect" class="external-link" 
href="http://www.odata.org/documentation/odata-version-2-0"; 
rel="nofollow">OData 2.0</a> services using <a shape="rect" 
class="external-link" href="http://olingo.apache.org/";>Apache Olingo</a> 
2.0.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="optaplanner.html">O</a><a shape="rect" 
href="openshift.html">penshift</a> / camel-openshift</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[openshift:clientId[?options]
 ]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To manage 
your <a shape="rect" class="external-link" href="https://www.openshift.com/"; 
rel="nofollow">Openshift</a> applications.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="optaplanner.html">OptaPlanner</a> / camel-optaplanner</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -4158,11 +4163,11 @@ While not actual tutorials you might fin
                     </div>
     </div>
 <h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1409141849914 {padding: 0px;}
-div.rbtoc1409141849914 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1409141849914 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1410430690103 {padding: 0px;}
+div.rbtoc1410430690103 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1410430690103 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1409141849914">
+/*]]>*/</style></p><div class="toc-macro rbtoc1410430690103">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect" 
href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a 
shape="rect" 
href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a 
shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a 
shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the 
Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing 
the Server</a>
@@ -6348,11 +6353,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1409141850220 {padding: 0px;}
-div.rbtoc1409141850220 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1409141850220 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1410430690241 {padding: 0px;}
+div.rbtoc1410430690241 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1410430690241 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1409141850220">
+/*]]>*/</style><div class="toc-macro rbtoc1410430690241">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using 
Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a 
shape="rect" 
href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a 
shape="rect" 
href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a 
shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting 
up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the 
Example</a></li></ul>
@@ -13365,39 +13370,16 @@ from(&quot;direct:start&quot;)
 &lt;/dependency&gt;
 ]]></script>
 </div></div><h3 id="BookInOnePage-SeeAlso.8">See Also</h3><ul><li><a 
shape="rect" href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="crypto-digital-signatures.html">Crypto (Digital 
Signatures)</a></li><li><a shape="rect" class="external-link" 
href="http://www.bouncycastle.org/java.html"; 
rel="nofollow">http://www.bouncycastle.org/java.html</a></li></ul>
-<h2 id="BookInOnePage-SyslogDataFormat">Syslog DataFormat</h2>
-<p><strong>Available as of Camel 2.6</strong></p>
-
-<p>The <strong>syslog</strong> dataformat is used for working with <a 
shape="rect" class="external-link" href="http://www.ietf.org/rfc/rfc3164.txt"; 
rel="nofollow">RFC3164</a> messages.</p>
-
-<p>This component supports the following:</p>
-<ul class="alternate"><li>UDP consumption of syslog messages</li><li>Agnostic 
data format using either plain String objects or SyslogMessage model 
objects.</li><li><a shape="rect" href="type-converter.html">Type Converter</a> 
from/to SyslogMessage and String</li><li>Integration with the <a shape="rect" 
href="mina.html">camel-mina</a> component.</li><li>Integration with the <a 
shape="rect" href="netty.html">camel-netty</a> component.</li></ul>
-
-
-<p>Maven users will need to add the following dependency to their 
<code>pom.xml</code> for this component:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+<h2 id="BookInOnePage-SyslogDataFormat">Syslog 
DataFormat</h2><p><strong>Available as of Camel 2.6</strong></p><p>The 
<strong>syslog</strong> dataformat is used for working with <a shape="rect" 
class="external-link" href="http://www.ietf.org/rfc/rfc3164.txt"; 
rel="nofollow">RFC3164</a>&#160;and RFC5424 messages.</p><p>This component 
supports the following:</p><ul class="alternate"><li>UDP consumption of syslog 
messages</li><li>Agnostic data format using either plain String objects or 
SyslogMessage model objects.</li><li><a shape="rect" 
href="type-converter.html">Type Converter</a> from/to SyslogMessage and 
String</li><li>Integration with the <a shape="rect" 
href="mina.html">camel-mina</a> component.</li><li>Integration with the <a 
shape="rect" href="netty.html">camel-netty</a> component.</li><li><strong>Camel 
2.14:</strong> Encoder and decoder for the&#160;<a shape="rect" 
href="netty.html">camel-netty</a>&#160;component.</li><li><strong>Camel 
2.14:</strong>&#160;Support for RFC5424 a
 lso.</li></ul><p>Maven users will need to add the following dependency to 
their <code>pom.xml</code> for this component:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-syslog&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-RFC3164Syslogprotocol">RFC3164 Syslog protocol</h3>
-<p>Syslog uses the user datagram protocol (UDP) <a shape="rect" 
class="unresolved" href="#">1</a> as its underlying transport layer mechanism.  
<br clear="none">
-The UDP port that has been assigned to syslog is 514.</p>
-
-<p>To expose a Syslog listener service we reuse the existing <a shape="rect" 
href="mina.html">camel-mina</a> component or <a shape="rect" 
href="netty.html">camel-netty</a> where we just use the 
<code>Rfc3164SyslogDataFormat</code> to marshal and unmarshal messages</p>
-
-<h4 id="BookInOnePage-ExposingaSysloglistener">Exposing a Syslog listener</h4>
-<p>In our Spring XML file, we configure an endpoint to listen for udp messages 
on port 10514, note that in netty we disable the defaultCodec, this <br 
clear="none">
-will allow a fallback to a NettyTypeConverter and delivers the message as an 
InputStream:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><h3 id="BookInOnePage-RFC3164Syslogprotocol">RFC3164 Syslog 
protocol</h3><p>Syslog uses the user datagram protocol (UDP) <a shape="rect" 
class="unresolved" href="#">1</a> as its underlying transport layer mechanism. 
<br clear="none"> The UDP port that has been assigned to syslog is 
514.</p><p>To expose a Syslog listener service we reuse the existing <a 
shape="rect" href="mina.html">camel-mina</a> component or <a shape="rect" 
href="netty.html">camel-netty</a> where we just use the 
<code>Rfc3164SyslogDataFormat</code> to marshal and unmarshal messages. Notice 
that from&#160;<strong>Camel 2.14</strong> onwards the syslog dataformat is 
renamed to <code>SyslogDataFormat</code>.</p><h3 
id="BookInOnePage-RFC5424Syslogprotocol">RFC5424 Syslog 
protocol</h3><p><strong>Available as of Camel 2.14</strong></p><p>To expose a 
Syslog listener service we reuse the existing&#160;<a shape="rect" 
href="mina.html">camel-mina</a>&#160;component or&#160;<a shape="rect" 
href="netty.html">camel-
 netty</a>&#160;where we just use 
the&#160;<code>SyslogDataFormat</code>&#160;to marshal and unmarshal 
messages</p><h4 id="BookInOnePage-ExposingaSysloglistener">Exposing a Syslog 
listener</h4><p>In our Spring XML file, we configure an endpoint to listen for 
udp messages on port 10514, note that in netty we disable the defaultCodec, 
this <br clear="none"> will allow a fallback to a NettyTypeConverter and 
delivers the message as an InputStream:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
 
     &lt;dataFormats&gt;
           &lt;syslog id=&quot;mySyslog&quot;/&gt;
@@ -13411,12 +13393,8 @@ will allow a fallback to a NettyTypeConv
 
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-<p>The same route using <a shape="rect" href="mina.html">camel-mina</a></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><p>The same route using <a shape="rect" 
href="mina.html">camel-mina</a></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
 
     &lt;dataFormats&gt;
           &lt;syslog id=&quot;mySyslog&quot;/&gt;
@@ -13430,14 +13408,8 @@ will allow a fallback to a NettyTypeConv
 
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-
-<h4 id="BookInOnePage-Sendingsyslogmessagestoaremotedestination">Sending 
syslog messages to a remote destination</h4>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><h4 
id="BookInOnePage-Sendingsyslogmessagestoaremotedestination">Sending syslog 
messages to a remote destination</h4><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
 
     &lt;dataFormats&gt;
         &lt;syslog id=&quot;mySyslog&quot;/&gt;
@@ -13451,9 +13423,7 @@ will allow a fallback to a NettyTypeConv
 
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-SeeAlso.9">See Also</h3>
+</div></div><p></p><h3 id="BookInOnePage-SeeAlso.9">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul>
 <div class="chapter" id="chapter-pattern-appendix">
 <h1 id="BookInOnePage-PatternAppendix">Pattern Appendix</h1>
@@ -13461,18 +13431,13 @@ will allow a fallback to a NettyTypeConv
 <p>There now follows a breakdown of the various <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/toc.html"; 
rel="nofollow">Enterprise Integration Patterns</a> that Camel supports</p>
 
 <h2 id="BookInOnePage-MessagingSystems.1">Messaging Systems</h2>
-<h3 id="BookInOnePage-MessageChannel">Message Channel</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/MessageChannel.html"; 
rel="nofollow">Message Channel</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a>. The Message 
Channel is an internal implementation detail of the <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html";>Endpoint</a>
 interface and all interactions with the Message Channel are via the Endpoint 
interfaces.</p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageChannelSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageChannelSolution.gif";></p>
-
-<p>For more details see</p>
-
-<ul><li><a shape="rect" href="message.html">Message</a></li><li><a 
shape="rect" href="message-endpoint.html">Message Endpoint</a></li></ul>
-
-
-<h4 id="BookInOnePage-UsingThisPattern">Using This Pattern</h4>
+<h3 id="BookInOnePage-MessageChannel">Message Channel</h3><p>Camel supports 
the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/MessageChannel.html"; 
rel="nofollow">Message Channel</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a>. The Message 
Channel is an internal implementation detail of the <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html";>Endpoint</a>
 interface and all interactions with the Message Channel are via the Endpoint 
interfaces.</p><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageChannelSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageChannelSolution.gif";></p><p><strong
 style="font-size: 16.0px;line-height: 1.5625;"><br 
clear="none"></strong></p><p><strong style="font-size: 16.0px;line-heig
 ht: 1.5625;">Example</strong></p><p>In JMS, Message Channels are represented 
by topics and queues such as the following</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: text; gutter: false" 
type="syntaxhighlighter"><![CDATA[jms:queue:foo]]></script>
+</div></div><p>&#160;</p><p>This message channel can be then used within the 
<a shape="rect" href="jms.html">JMS</a>&#160;component</p><p><strong 
style="line-height: 1.4285715;">Using the&#160;<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[to(&quot;jms:queue:foo&quot;)]]></script>
+</div></div><p><strong><br clear="none"></strong></p><p><strong>Using 
the&#160;<a shape="rect" href="spring-xml-extensions.html">Spring XML 
Extensions</a></strong></p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;to 
uri=&quot;jms:queue:foo&quot;/&gt;]]></script>
+</div></div><p>&#160;</p><p>For more details see</p><ul><li><a shape="rect" 
href="message.html">Message</a></li><li><a shape="rect" 
href="message-endpoint.html">Message Endpoint</a></li></ul><p></p><h4 
id="BookInOnePage-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>
 <h3 id="BookInOnePage-Message">Message</h3>
@@ -13752,34 +13717,28 @@ from(&quot;activemq:My.Queue&quot;).
 
 <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>
 <ul class="alternate"><li><a shape="rect" href="content-enricher.html">Content 
Enricher</a></li><li><a shape="rect" 
href="using-getin-or-getout-methods-on-exchange.html">Using getIn or getOut 
methods on Exchange</a></li></ul>
-<h3 id="BookInOnePage-MessageEndpoint">Message Endpoint</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/MessageEndpoint.html"; 
rel="nofollow">Message Endpoint</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html";>Endpoint</a>
 interface. </p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageEndpointSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageEndpointSolution.gif";></p>
-
-<p>When using the <a shape="rect" href="dsl.html">DSL</a> to create <a 
shape="rect" href="routes.html">Routes</a> you typically refer to Message 
Endpoints by their <a shape="rect" href="uris.html">URIs</a> rather than 
directly using the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html";>Endpoint</a>
 interface. Its then a responsibility of the <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContext.html";>CamelContext</a>
 to create and activate the necessary Endpoint instances using the available <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Component.html";>Component</a>
 implementations.</p>
-
-<p>For more details see</p>
-
-<ul><li><a shape="rect" href="message.html">Message</a></li></ul>
-
-
-<h4 id="BookInOnePage-UsingThisPattern.5">Using This Pattern</h4>
+<h3 id="BookInOnePage-MessageEndpoint">Message Endpoint</h3><p>Camel supports 
the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/MessageEndpoint.html"; 
rel="nofollow">Message Endpoint</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html";>Endpoint</a>
 interface.</p><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageEndpointSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageEndpointSolution.gif";></p><p>When
 using the <a shape="rect" href="dsl.html">DSL</a> to create <a shape="rect" 
href="routes.html">Routes</a> you typically refer to Message Endpoints by their 
<a shape="rect" href="uris.html">URIs</a> rather than directly using the <a 
shape="rect" class="
 external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html";>Endpoint</a>
 interface. Its then a responsibility of the <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContext.html";>CamelContext</a>
 to create and activate the necessary Endpoint instances using the available <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Component.html";>Component</a>
 implementations.</p><h4 id="BookInOnePage-Example.6">Example</h4><p>The 
following example route demonstrates the use of a <a shape="rect" 
href="https://cwiki.apache.org/confluence/display/SM/File";>File</a> Consumer 
Endpoint and <a shape="rect" href="jms.html">JMS</a> Producer 
Endpoint</p><p><strong><br clear="none"></strong></p><p><strong>Using 
the&#160;<a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p><div class="code pan
 el pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;file://local/router/messages/foo&quot;)
+       .to(&quot;jms:queue:foo&quot;);]]></script>
+</div></div><p>&#160;</p><p><strong><strong>Using the&#160;<a shape="rect" 
href="spring-xml-extensions.html">Spring XML 
Extensions</a></strong></strong></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
+       &lt;from uri=&quot;file://local/router/messages/foo&quot;/&gt;
+       &lt;to uri=&quot;jms:queue:foo&quot;/&gt;
+&lt;/route&gt;]]></script>
+</div></div><p>&#160;</p><p>For more details see</p><ul><li><a shape="rect" 
href="message.html">Message</a><br clear="none"><br 
clear="none"></li></ul><p></p><h4 id="BookInOnePage-UsingThisPattern.5">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>
 
 <h2 id="BookInOnePage-MessagingChannels.1">Messaging Channels</h2>
-<h3 id="BookInOnePage-PointtoPointChannel">Point to Point Channel</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PointToPointChannel.html"; 
rel="nofollow">Point to Point Channel</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using the 
following components</p>
-
-<ul><li><a shape="rect" href="seda.html">Seda</a> for in-VM seda based 
messaging</li><li><a shape="rect" href="jms.html">JMS</a> for working with JMS 
Queues for high performance, clustering and load balancing</li><li><a 
shape="rect" href="jpa.html">JPA</a> for using a database as a simple message 
queue</li><li><a shape="rect" href="xmpp.html">XMPP</a> for point-to-point 
communication over XMPP (Jabber)</li><li>and others</li></ul>
-
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/PointToPointSolution.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/PointToPointSolution.gif";></p>
-
-<h4 id="BookInOnePage-UsingThisPattern.6">Using This Pattern</h4>
+<h3 id="BookInOnePage-PointtoPointChannel">Point to Point Channel</h3><p>Camel 
supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PointToPointChannel.html"; 
rel="nofollow">Point to Point Channel</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using the 
following components</p><ul><li><a shape="rect" href="seda.html">SEDA</a> for 
in-VM seda based messaging</li><li><a shape="rect" href="jms.html">JMS</a> for 
working with JMS Queues for high performance, clustering and load 
balancing</li><li><a shape="rect" href="jpa.html">JPA</a> for using a database 
as a simple message queue</li><li><a shape="rect" href="xmpp.html">XMPP</a> for 
point-to-point communication over XMPP (Jabber)</li><li>and 
others</li></ul><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/PointToPointSolution.gif"; 
data-image-src="http://www.enterpriseintegr
 ationpatterns.com/img/PointToPointSolution.gif"></p><p>The following example 
demonstrates point to point messaging using the&#160;<a shape="rect" 
href="jms.html">JMS</a>&#160;component&#160;</p><p><strong>Using the&#160;<a 
shape="rect" href="fluent-builders.html">Fluent Builders</a></strong></p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
+       .to(&quot;jms:queue:foo&quot;);]]></script>
+</div></div><p>&#160;</p><p><strong><strong>Using the&#160;<a shape="rect" 
href="spring-xml-extensions.html">Spring XML 
Extensions</a></strong></strong></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
+       &lt;from uri=&quot;direct:start&quot;/&gt;
+       &lt;to uri=&quot;jms:queue:foo&quot;/&gt;
+&lt;/route&gt;]]></script>
+</div></div><p>&#160;</p><p>&#160;</p><p></p><h4 
id="BookInOnePage-UsingThisPattern.6">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-PublishSubscribeChannel">Publish Subscribe Channel</h3>
@@ -14173,31 +14132,28 @@ public class MyRedeliverProcessor implem
 
 <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>
 <ul class="alternate"><li><a shape="rect" href="error-handler.html">Error 
Handler</a></li><li><a shape="rect" href="exception-clause.html">Exception 
Clause</a></li></ul>
-<h3 id="BookInOnePage-GuaranteedDelivery">Guaranteed Delivery</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/GuaranteedMessaging.html"; 
rel="nofollow">Guaranteed Delivery</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using among others 
the following components:</p>
-
-<ul><li><a shape="rect" href="file2.html">File</a> for using file systems as a 
persistent store of messages</li><li><a shape="rect" href="jms.html">JMS</a> 
when using persistent delivery (the default) for working with JMS Queues and 
Topics for high performance, clustering and load balancing</li><li><a 
shape="rect" href="jpa.html">JPA</a> for using a database as a persistence 
layer, or use any of the many other database component such as <a shape="rect" 
href="sql.html">SQL</a>, <a shape="rect" href="jdbc.html">JDBC</a>, <a 
shape="rect" href="ibatis.html">iBatis</a>/<a shape="rect" 
href="mybatis.html">MyBatis</a>, <a shape="rect" 
href="hibernate.html">Hibernate</a></li><li><a shape="rect" 
href="hawtdb.html">HawtDB</a> for a lightweight key-value persistent 
store</li></ul>
-
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingSolution.gif";></p>
-
-<h4 id="BookInOnePage-UsingThisPattern.9">Using This Pattern</h4>
+<h3 id="BookInOnePage-GuaranteedDelivery">Guaranteed Delivery</h3><p>Camel 
supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/GuaranteedMessaging.html"; 
rel="nofollow">Guaranteed Delivery</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using among others 
the following components:</p><ul><li><a shape="rect" href="file2.html">File</a> 
for using file systems as a persistent store of messages</li><li><a 
shape="rect" href="jms.html">JMS</a> when using persistent delivery (the 
default) for working with JMS Queues and Topics for high performance, 
clustering and load balancing</li><li><a shape="rect" href="jpa.html">JPA</a> 
for using a database as a persistence layer, or use any of the many other 
database component such as <a shape="rect" href="sql.html">SQL</a>, <a 
shape="rect" href="jdbc.html">JDBC</a>, <a shape="rect" 
href="ibatis.html">iBATIS</a>/<a shape="rect" href="mybatis.html">MyBatis</a>, <
 a shape="rect" href="hibernate.html">Hibernate</a></li><li><a shape="rect" 
href="hawtdb.html">HawtDB</a> for a lightweight key-value persistent 
store</li></ul><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingSolution.gif";></p><h4
 id="BookInOnePage-Example.7">Example</h4><p>The following example demonstrates 
illustrates the use of&#160;<a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/GuaranteedMessaging.html"; 
rel="nofollow">Guaranteed Delivery</a>&#160;within the&#160;<a shape="rect" 
href="jms.html">JMS</a>&#160;component. By default, a message is not considered 
successfully delivered until the recipient has persisted the message locally 
guaranteeing its receipt in the event the destination becomes 
unavailable.</p><p><strong>Using the&#160;<a shape="rect"
  href="fluent-builders.html">Fluent Builders</a></strong></p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
+       .to(&quot;jms:queue:foo&quot;);]]></script>
+</div></div><p>&#160;</p><p><strong><strong>Using the&#160;<a shape="rect" 
href="spring-xml-extensions.html">Spring XML 
Extensions</a></strong></strong></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
+       &lt;from uri=&quot;direct:start&quot;/&gt;
+       &lt;to uri=&quot;jms:queue:foo&quot;/&gt;
+&lt;/route&gt;]]></script>
+</div></div><p></p><h4 id="BookInOnePage-UsingThisPattern.9">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-MessageBus">Message Bus</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PointToPointChannel.html"; 
rel="nofollow">Message Bus</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a>. You could view 
Camel as a Message Bus itself as it allows producers and consumers to be 
decoupled.</p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageBusSolution.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageBusSolution.gif";></p>
-
-<p>Folks often assume that a Message Bus is a JMS though so you may wish to 
refer to the <a shape="rect" href="jms.html">JMS</a> component for traditional 
MOM support.<br clear="none">
-Also worthy of note is the <a shape="rect" href="xmpp.html">XMPP</a> component 
for supporting messaging over XMPP (Jabber)</p>
-
-<p>Of course there are also ESB products such as <a shape="rect" 
class="external-link" href="http://servicemix.apache.org/home.html";>Apache 
ServiceMix</a> which serve as full fledged message busses.<br clear="none">
-You can interact with <a shape="rect" class="external-link" 
href="http://servicemix.apache.org/home.html";>Apache ServiceMix</a> from Camel 
in many ways, but in particular you can use the <a shape="rect" 
href="nmr.html">NMR</a> or <a shape="rect" href="jbi.html">JBI</a> component to 
access the ServiceMix message bus directly.</p>
-
-<h4 id="BookInOnePage-UsingThisPattern.10">Using This Pattern</h4>
+<h3 id="BookInOnePage-MessageBus">Message Bus</h3><p>Camel supports the <a 
shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PointToPointChannel.html"; 
rel="nofollow">Message Bus</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a>. You could view 
Camel as a Message Bus itself as it allows producers and consumers to be 
decoupled.</p><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageBusSolution.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageBusSolution.gif";></p><p>Folks
 often assume that a Message Bus is a JMS though so you may wish to refer to 
the <a shape="rect" href="jms.html">JMS</a> component for traditional MOM 
support.<br clear="none"> Also worthy of note is the <a shape="rect" 
href="xmpp.html">XMPP</a> component for supporting messaging over XMPP 
(Jabber)</p><p>Of course there are also ESB produ
 cts such as <a shape="rect" class="external-link" 
href="http://servicemix.apache.org/home.html";>Apache ServiceMix</a> which serve 
as full fledged message busses.<br clear="none"> You can interact with <a 
shape="rect" class="external-link" 
href="http://servicemix.apache.org/home.html";>Apache ServiceMix</a> from Camel 
in many ways, but in particular you can use the <a shape="rect" 
href="nmr.html">NMR</a> or <a shape="rect" href="jbi.html">JBI</a> component to 
access the ServiceMix message bus directly.</p><p>&#160;</p><h4 
id="BookInOnePage-Example.8">Example</h4><p>The following demonstrates how the 
Camel message bus can be used to communicate with consumers and 
producers</p><p><strong><br clear="none"></strong></p><p><strong>Using 
the&#160;<a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
+       .pollEnrich(&quot;file:inbox?fileName=data.txt&quot;)
+       .to(&quot;jms:queue:foo&quot;);]]></script>
+</div></div><p>&#160;</p><p><strong><strong>Using the&#160;<a shape="rect" 
href="spring-xml-extensions.html">Spring XML 
Extensions</a></strong></strong></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
+       &lt;from uri=&quot;direct:start&quot;/&gt;
+       &lt;pollEnrich uri=&quot;file:inbox?fileName=data.txt&quot;/&gt;
+       &lt;to uri=&quot;jms:queue:foo&quot;/&gt;
+&lt;/route&gt;]]></script>
+</div></div><p></p><h4 id="BookInOnePage-UsingThisPattern.10">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>
 
@@ -14352,21 +14308,17 @@ from(&quot;direct:testSetExchangePattern
 <h4 id="BookInOnePage-UsingThisPattern.12">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-CorrelationIdentifier">Correlation Identifier</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/CorrelationIdentifier.html"; 
rel="nofollow">Correlation Identifier</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> by getting or 
setting a header on a <a shape="rect" href="message.html">Message</a>. </p>
-
-<p>When working with the <a shape="rect" href="activemq.html">ActiveMQ</a> or 
<a shape="rect" href="jms.html">JMS</a> components the correlation identifier 
header is called <strong>JMSCorrelationID</strong>. You can add your own 
correlation identifier to any message exchange to help correlate messages 
together to a single conversation (or business process).</p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/CorrelationIdentifierSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/CorrelationIdentifierSolution.gif";></p>
-
-<p>The use of a Correlation Identifier is key to working with the <a 
shape="rect" href="bam.html">Camel Business Activity Monitoring Framework</a> 
and can also be highly useful when testing with simulation or canned data such 
as with the <a shape="rect" href="mock.html">Mock testing framework</a></p>
-
-<p>Some <a shape="rect" href="eip.html">EIP</a> patterns will spin off a sub 
message, and in those cases, Camel will add a correlation id on the <a 
shape="rect" href="exchange.html">Exchange</a> as a property with they key 
<code>Exchange.CORRELATION_ID</code>, which links back to the source <a 
shape="rect" href="exchange.html">Exchange</a>. For example the <a shape="rect" 
href="splitter.html">Splitter</a>, <a shape="rect" 
href="multicast.html">Multicast</a>, <a shape="rect" 
href="recipient-list.html">Recipient List</a>, and <a shape="rect" 
href="wire-tap.html">Wire Tap</a> EIP does this.</p>
-
-<h4 id="BookInOnePage-SeeAlso.10">See Also</h4>
-
-<ul><li><a shape="rect" href="bam.html">BAM</a></li></ul>
+<h3 id="BookInOnePage-CorrelationIdentifier">Correlation 
Identifier</h3><p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/CorrelationIdentifier.html"; 
rel="nofollow">Correlation Identifier</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> by getting or 
setting a header on a <a shape="rect" 
href="message.html">Message</a>.</p><p>When working with the <a shape="rect" 
href="activemq.html">ActiveMQ</a> or <a shape="rect" href="jms.html">JMS</a> 
components the correlation identifier header is called 
<strong>JMSCorrelationID</strong>. You can add your own correlation identifier 
to any message exchange to help correlate messages together to a single 
conversation (or business process).</p><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/CorrelationIdentifierSolution.gif";
 data-image-src="http://www.enterpriseintegratio
 npatterns.com/img/CorrelationIdentifierSolution.gif"></p><p>The use of a 
Correlation Identifier is key to working with the <a shape="rect" 
href="bam.html">Camel Business Activity Monitoring Framework</a> and can also 
be highly useful when testing with simulation or canned data such as with the 
<a shape="rect" href="mock.html">Mock testing framework</a></p><p>Some <a 
shape="rect" href="eip.html">EIP</a> patterns will spin off a sub message, and 
in those cases, Camel will add a correlation id on the <a shape="rect" 
href="exchange.html">Exchange</a> as a property with they key 
<code>Exchange.CORRELATION_ID</code>, which links back to the source <a 
shape="rect" href="exchange.html">Exchange</a>. For example the <a shape="rect" 
href="splitter.html">Splitter</a>, <a shape="rect" 
href="multicast.html">Multicast</a>, <a shape="rect" 
href="recipient-list.html">Recipient List</a>, and <a shape="rect" 
href="wire-tap.html">Wire Tap</a> EIP does this.</p><p>The following example 
demonstrates usi
 ng the Camel JMSMessageID as the Correlation Identifier within a request/reply 
pattern in the&#160;<a shape="rect" 
href="jms.html">JMS</a>&#160;component</p><p><strong>Using the&#160;<a 
shape="rect" href="fluent-builders.html">Fluent Builders</a></strong></p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
+       
.to(ExchangePattern.InOut,&quot;jms:queue:foo?useMessageIDAsCorrelationID=true&quot;)
+       .to(&quot;mock:result&quot;);]]></script>
+</div></div><p>&#160;</p><p><strong><strong>Using the&#160;<a shape="rect" 
href="spring-xml-extensions.html">Spring XML 
Extensions</a></strong></strong></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
+       &lt;from uri=&quot;direct:start&quot;/&gt;
+       &lt;to uri=&quot;jms:queue:foo?useMessageIDAsCorrelationID=true&quot; 
pattern=&quot;InOut&quot;/&gt;
+       &lt;to uri=&quot;mock:result&quot;/&gt;
+&lt;/route&gt;]]></script>
+</div></div><h4 id="BookInOnePage-SeeAlso.10">See Also</h4><ul><li><a 
shape="rect" href="bam.html">BAM</a></li></ul>
 <h2 id="BookInOnePage-ReturnAddress">Return Address</h2>
 
 <p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/ReturnAddress.html"; 
rel="nofollow">Return Address</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> by using the 
<code>JMSReplyTo</code> header.</p>
@@ -16314,7 +16266,7 @@ from(&quot;seda:quoteAggregator&quot;)
 <p>If you would like to use this EIP Pattern then please read the <a 
shape="rect" href="getting-started.html">Getting Started</a>, you may also find 
the <a shape="rect" href="architecture.html">Architecture</a> useful 
particularly the description of <a shape="rect" 
href="endpoint.html">Endpoint</a> and <a shape="rect" 
href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" 
href="examples.html">Examples</a> first before trying this pattern out.</p>
 <h3 id="BookInOnePage-RoutingSlip">Routing Slip</h3><p>The <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/RoutingTable.html"; 
rel="nofollow">Routing Slip</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you to 
route a message consecutively through a series of processing steps where the 
sequence of steps is not known at design time and can vary for each 
message.</p><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif";></p><h3
 id="BookInOnePage-Options.13">Options</h3><div class="confluenceTableSmall">
 <div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>uriDelimiter</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>,</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delimiter used if 
the <a shape="rect" href="expression.html">Expression</a> returned multiple 
endpoints. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>ignoreInvalidEndpoints</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If an endpoint 
uri could not be resolved, should it be ignored. Otherwise Camel will throw an 
exception stating the endpoint uri is 
 not valid. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>cacheSize</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>1000</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <strong>Camel 2.13.1/2.12.4:</strong> 
Allows to configure the cache size for the <code>ProducerCache</code> which 
caches producers for reuse in the routing slip. Will by default use the default 
cache size which is 1000. Setting the value to -1 allows to turn off the cache 
all together. </p></td></tr></tbody></table></div>
-</div><h4 id="BookInOnePage-Example.6">Example</h4><p>The following route will 
take any messages sent to the <a shape="rect" class="external-link" 
href="http://activemq.apache.org";>Apache ActiveMQ</a> queue 
<strong>SomeQueue</strong> and pass them into the <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/RoutingTable.html"; 
rel="nofollow">Routing Slip</a> pattern.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div><h4 id="BookInOnePage-Example.9">Example</h4><p>The following route will 
take any messages sent to the <a shape="rect" class="external-link" 
href="http://activemq.apache.org";>Apache ActiveMQ</a> queue 
<strong>SomeQueue</strong> and pass them into the <a shape="rect" 
class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/RoutingTable.html"; 
rel="nofollow">Routing Slip</a> pattern.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;activemq:SomeQueue&quot;).routingSlip(&quot;aRoutingSlipHeader&quot;);
 ]]></script>
 </div></div><p>Messages will be checked for the existance of the 
"aRoutingSlipHeader" header. The value of this header should be a 
comma-delimited list of endpoint <a shape="rect" href="uris.html">URIs</a> you 
wish the message to be routed to. The <a shape="rect" 
href="message.html">Message</a> will be routed in a <a shape="rect" 
href="pipes-and-filters.html">pipeline</a> fashion (i.e. one after the 
other).</p><p>From Camel 2.5 the <a shape="rect" 
href="routing-slip.html">Routing Slip</a> will set a property 
(<code>Exchange.SLIP_ENDPOINT</code>) on the <a shape="rect" 
href="exchange.html">Exchange</a> which contains the current endpoint as it 
advanced though the slip. This allows you to <em>know</em> how far we have 
processed in the slip.</p><p>The <a shape="rect" 
href="routing-slip.html">Routing Slip</a> will compute the slip 
<strong>beforehand</strong> which means, the slip is only computed once. If you 
need to compute the slip <em>on-the-fly</em> then use the <a shape="rect" href
 ="dynamic-router.html">Dynamic Router</a> pattern instead.</p><h4 
id="BookInOnePage-Configurationoptions">Configuration options</h4><p>Here we 
set the header name and the URI delimiter to something 
different.</p><p><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -16819,7 +16771,7 @@ public static class MyLoadBalancer exten
 <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-Multicast">Multicast</h3><p>The Multicast allows to 
route the same message to a number of endpoints and process them in a different 
way. The main difference between the Multicast and Splitter is that Splitter 
will split the message into several pieces but the Multicast will not modify 
the request message.</p><h3 id="BookInOnePage-Options.17">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 multicasts, into a single outgoing 
message from the <a shape="rect" href="multicast.html">Multicast</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>Agg
 regationStrategy</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> If enabled then sending messages to the 
multicasts occurs concurrently. Note the caller thread will still wait until 
all messages has been fully processed, before it continues. Its only the 
sending and processing the replies from the multicasts which happens 
concurrently. </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 automatic 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 will send the message to all multicasts 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 process replies out-of-order, eg in the order they come back. If 
 >disabled, Camel will process replies in the same order as multicasted. 
 ></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="multicast.html">Multicast</a> hasn't been able to send and process all 
 >replies within the given timeframe, then the timeout triggers and the <a 
 >shape="rect" href="multicast.html">Multicast</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 copy 
of the <a shape="rect" href="exchange.html">Exchange</a> each multicast will 
receive. 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 the same option on <a 
shape="rect" href="splitter.html">Splitter</a> for more details. 
</p></td></tr></tbody></table></div>
-</div><h4 id="BookInOnePage-Example.7">Example</h4><p>The following example 
shows how to take a request from the <strong>direct:a</strong> endpoint , then 
multicast these request to <strong>direct:x</strong>, 
<strong>direct:y</strong>, <strong>direct:z</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">
+</div><h4 id="BookInOnePage-Example.10">Example</h4><p>The following example 
shows how to take a request from the <strong>direct:a</strong> endpoint , then 
multicast these request to <strong>direct:x</strong>, 
<strong>direct:y</strong>, <strong>direct:z</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="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:a&quot;).multicast().to(&quot;direct:x&quot;, 
&quot;direct:y&quot;, &quot;direct:z&quot;);
 ]]></script>
@@ -17112,39 +17064,20 @@ from(&quot;direct:start&quot;)
 <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> 
 
 <h2 id="BookInOnePage-MessageTransformation.1">Message Transformation</h2>
-<h3 id="BookInOnePage-ContentEnricher">Content Enricher</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/DataEnricher.html"; 
rel="nofollow">Content Enricher</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using a <a 
shape="rect" href="message-translator.html">Message Translator</a>, an 
arbitrary <a shape="rect" href="processor.html">Processor</a> in the routing 
logic, or using the <a shape="rect" href="#BookInOnePage-enrich-dsl">enrich</a> 
DSL element to enrich the message.</p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/DataEnricher.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/DataEnricher.gif";></p>
-
-<h4 
id="BookInOnePage-ContentenrichmentusingaMessageTranslatororaProcessor">Content 
enrichment using a Message Translator or a Processor</h4>
-
-<p><strong>Using the</strong> <strong><a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></p>
-
-<p>You can use <a shape="rect" href="templating.html">Templating</a> to 
consume a message from one destination, transform it with something like <a 
shape="rect" href="velocity.html">Velocity</a> or <a shape="rect" 
href="xquery.html">XQuery</a>, and then send it on to another destination. For 
example using InOnly (one way messaging)</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;activemq:My.Queue&quot;).
+<h3 id="BookInOnePage-ContentEnricher">Content Enricher</h3><p>Camel supports 
the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/DataEnricher.html"; 
rel="nofollow">Content Enricher</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> using a <a 
shape="rect" href="message-translator.html">Message Translator</a>, an 
arbitrary <a shape="rect" href="processor.html">Processor</a> in the routing 
logic, or using the <a shape="rect" href="#BookInOnePage-enrich-dsl">enrich</a> 
DSL element to enrich the message.</p><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/DataEnricher.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/DataEnricher.gif";></p><h4
 
id="BookInOnePage-ContentenrichmentusingaMessageTranslatororaProcessor">Content 
enrichment using a Message Translator or a Processor</h4><p><strong>Using 
the</strong> <strong
 ><a shape="rect" href="fluent-builders.html">Fluent 
 >Builders</a></strong></p><p>You can use <a shape="rect" 
 >href="templating.html">Templating</a> to consume a message from one 
 >destination, transform it with something like <a shape="rect" 
 >href="velocity.html">Velocity</a> or <a shape="rect" 
 >href="xquery.html">XQuery</a>, and then send it on to another destination. 
 >For example using InOnly (one way messaging)</p><div class="code panel pdl" 
 >style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;activemq:My.Queue&quot;).
   to(&quot;velocity:com/acme/MyResponse.vm&quot;).
   to(&quot;activemq:Another.Queue&quot;);
 ]]></script>
-</div></div>
-<p>If you want to use InOut (request-reply) semantics to process requests on 
the <strong>My.Queue</strong> queue on <a shape="rect" 
href="activemq.html">ActiveMQ</a> with a template generated response, then 
sending responses back to the JMSReplyTo Destination you could use this:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;activemq:My.Queue&quot;).
+</div></div><p>If you want to use InOut (request-reply) semantics to process 
requests on the <strong>My.Queue</strong> queue on <a shape="rect" 
href="activemq.html">ActiveMQ</a> with a template generated response, then 
sending responses back to the JMSReplyTo Destination you could use 
this:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;activemq:My.Queue&quot;).
   to(&quot;velocity:com/acme/MyResponse.vm&quot;);
 ]]></script>
-</div></div>
-<p>Here is a simple example using the <a shape="rect" href="dsl.html">DSL</a> 
directly to transform the message body</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><p>Here is a simple example using the <a shape="rect" 
href="dsl.html">DSL</a> directly to transform the message body</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:start&quot;).setBody(body().append(&quot; 
World!&quot;)).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-<p>In this example we add our own <a shape="rect" 
href="processor.html">Processor</a> using explicit Java code</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><p>In this example we add our own <a shape="rect" 
href="processor.html">Processor</a> using explicit Java code</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:start&quot;).process(new Processor() {
     public void process(Exchange exchange) {
@@ -17153,64 +17086,27 @@ from(&quot;direct:start&quot;).process(n
     }
 }).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-<p>Finally we can use <a shape="rect" href="bean-integration.html">Bean 
Integration</a> to use any Java method on any bean to act as the transformer</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;activemq:My.Queue&quot;).
+</div></div><p>Finally we can use <a shape="rect" 
href="bean-integration.html">Bean Integration</a> to use any Java method on any 
bean to act as the transformer</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;activemq:My.Queue&quot;).
   beanRef(&quot;myBeanName&quot;, &quot;myMethodName&quot;).
   to(&quot;activemq:Another.Queue&quot;);
 ]]></script>
-</div></div>
-<p>For further examples of this pattern in use you could look at one of the 
JUnit tests</p>
-<ul><li><a shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformTest.java?view=markup";>TransformTest</a></li><li><a
 shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformViaDSLTest.java?view=markup";>TransformViaDSLTest</a></li></ul>
-
-
-<p><strong>Using Spring XML</strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;route&gt;
+</div></div><p>For further examples of this pattern in use you could look at 
one of the JUnit tests</p><ul><li><a shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformTest.java?view=markup";>TransformTest</a></li><li><a
 shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformViaDSLTest.java?view=markup";>TransformViaDSLTest</a></li></ul><p><strong>Using
 Spring XML</strong></p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
   &lt;from uri=&quot;activemq:Input&quot;/&gt;
   &lt;bean ref=&quot;myBeanName&quot; method=&quot;doTransform&quot;/&gt;
   &lt;to uri=&quot;activemq:Output&quot;/&gt;
 &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<p><span class="confluence-anchor-link" 
id="BookInOnePage-enrich-dsl"></span></p>
-<h3 id="BookInOnePage-ContentenrichmentusingtheenrichDSLelement">Content 
enrichment using the <code>enrich</code> DSL element</h3>
-
-<p>Camel comes with two flavors of content enricher in the DSL</p>
-<ul 
class="alternate"><li><code>enrich</code></li><li><code>pollEnrich</code></li></ul>
-
-
-<p><code>enrich</code> uses a <code>Producer</code> to obtain the additional 
data. It is usually used for <a shape="rect" href="request-reply.html">Request 
Reply</a> messaging, for instance to invoke an external web service.<br 
clear="none">
-<code>pollEnrich</code> on the other hand uses a <a shape="rect" 
href="polling-consumer.html">Polling Consumer</a> to obtain the additional 
data. It is usually used for <a shape="rect" href="event-message.html">Event 
Message</a> messaging, for instance to read a file or download a <a 
shape="rect" href="ftp2.html">FTP</a> file.</p>
-
-    <div class="aui-message problem shadowed information-macro">
+</div></div><p><span class="confluence-anchor-link" 
id="BookInOnePage-enrich-dsl"></span></p><h3 
id="BookInOnePage-ContentenrichmentusingtheenrichDSLelement">Content enrichment 
using the <code>enrich</code> DSL element</h3><p>Camel comes with two flavors 
of content enricher in the DSL</p><ul 
class="alternate"><li><code>enrich</code></li><li><code>pollEnrich</code></li></ul><p><code>enrich</code>
 uses a <code>Producer</code> to obtain the additional data. It is usually used 
for <a shape="rect" href="request-reply.html">Request Reply</a> messaging, for 
instance to invoke an external web service.<br clear="none"> 
<code>pollEnrich</code> on the other hand uses a <a shape="rect" 
href="polling-consumer.html">Polling Consumer</a> to obtain the additional 
data. It is usually used for <a shape="rect" href="event-message.html">Event 
Message</a> messaging, for instance to read a file or download a <a 
shape="rect" href="ftp2.html">FTP</a> file.</p>    <div class="aui-message 
problem shadowed in
 formation-macro">
                     <p class="title">Data from current Exchange not used</p>
                             <span class="aui-icon icon-problem">Icon</span>
                 <div class="message-content">
-                            
-<p><code>pollEnrich</code> or <code>enrich</code> does <strong>not</strong> 
access any data from the current <a shape="rect" 
href="exchange.html">Exchange</a> which means when polling it cannot use any of 
the existing headers you may have set on the <a shape="rect" 
href="exchange.html">Exchange</a>. For example you cannot set a filename in the 
<code>Exchange.FILE_NAME</code> header and use <code>pollEnrich</code> to 
consume only that file. For that you <strong>must</strong> set the filename in 
the endpoint URI.</p>
-
-<p>Instead of using <code>enrich</code> you can use <a shape="rect" 
href="recipient-list.html">Recipient List</a> and have dynamic endpoints and 
define an <code>AggregationStrategy</code> on the <a shape="rect" 
href="recipient-list.html">Recipient List</a> which then would work as a 
<code>enrich</code> would do.</p>
+                            <p><code>pollEnrich</code> or <code>enrich</code> 
does <strong>not</strong> access any data from the current <a shape="rect" 
href="exchange.html">Exchange</a> which means when polling it cannot use any of 
the existing headers you may have set on the <a shape="rect" 
href="exchange.html">Exchange</a>. For example you cannot set a filename in the 
<code>Exchange.FILE_NAME</code> header and use <code>pollEnrich</code> to 
consume only that file. For that you <strong>must</strong> set the filename in 
the endpoint URI.</p><p>Instead of using <code>enrich</code> you can use <a 
shape="rect" href="recipient-list.html">Recipient List</a> and have dynamic 
endpoints and define an <code>AggregationStrategy</code> on the <a shape="rect" 
href="recipient-list.html">Recipient List</a> which then would work as a 
<code>enrich</code> would do.</p>
                     </div>
     </div>
-
-
-<h3 id="BookInOnePage-EnrichOptions">Enrich 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>uri</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> The endpoint uri for the external service 
to enrich from. You must use either <code>uri</code> or <code>ref</code>. 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>ref</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Refers to the endpoint for the external service to 
enrich from. You must use either <code>uri</code> or <code>ref</code>. 
</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> 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 merge the reply from the external service, into a single 
outgoing message. By default Camel will use the reply from the external service 
as 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></tbody></table></div>
-</div>
-
-
-<p><strong>Using the</strong> <strong><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[
-AggregationStrategy aggregationStrategy = ...
+<h3 id="BookInOnePage-EnrichOptions">Enrich 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>uri</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The endpoint uri for the external service to enrich 
from. You must use either <code>uri</code> or 
<code>ref</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>ref</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Refers to the endpoint for the external service to 
enrich from. You must use either <code>uri</c
 ode> or <code>ref</code>.</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>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 merge the reply from the external service, into a single 
outgoing message. By default Camel will use the reply from the external service 
as 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 colspa
 n="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="conflue
 nceTd"><code>aggregateOnException</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14:</strong> If this option is 
<code>false</code> then the aggregate method is <strong>not</strong> used if 
there was an exception thrown while trying to retrieve the data to enrich from 
the resource. Setting this option to <code>true</code> allows end users to 
control what to do if there was an exception in the <code>aggregate</code> 
method. For example to suppress the exception or set a custom message body 
etc.</td></tr></tbody></table></div></div><p><strong>Using the</strong> 
<strong><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[AggregationStrategy aggregationStrategy = ...
 
 from(&quot;direct:start&quot;)
 .enrich(&quot;direct:resource&quot;, aggregationStrategy)
@@ -17219,13 +17115,8 @@ from(&quot;direct:start&quot;)
 from(&quot;direct:resource&quot;)
 ...
 ]]></script>
-</div></div>
-
-<p>The content enricher (<code>enrich</code>) retrieves additional data from a 
<em>resource endpoint</em> in order to enrich an incoming message (contained in 
the <em>original exchange</em>). An aggregation strategy is used to combine the 
original exchange and the <em>resource exchange</em>. The first parameter of 
the <code>AggregationStrategy.aggregate(Exchange, Exchange)</code> method 
corresponds to the the original exchange, the second parameter the resource 
exchange. The results from the resource endpoint are stored in the resource 
exchange's out-message. Here's an example template for implementing an 
aggregation strategy:</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[
-public class ExampleAggregationStrategy implements AggregationStrategy {
+</div></div><p>The content enricher (<code>enrich</code>) retrieves additional 
data from a <em>resource endpoint</em> in order to enrich an incoming message 
(contained in the <em>original exchange</em>). An aggregation strategy is used 
to combine the original exchange and the <em>resource exchange</em>. The first 
parameter of the <code>AggregationStrategy.aggregate(Exchange, Exchange)</code> 
method corresponds to the the original exchange, the second parameter the 
resource exchange. The results from the resource endpoint are stored in the 
resource exchange's out-message. Here's an example template for implementing an 
aggregation strategy:</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[public class ExampleAggregationStrategy 
implements AggregationStrategy {
 
     public Exchange aggregate(Exchange original, Exchange resource) {
         Object originalBody = original.getIn().getBody();
@@ -17241,17 +17132,8 @@ public class ExampleAggregationStrategy 
     
 }
 ]]></script>
-</div></div>
-
-<p>Using this template the original exchange can be of any pattern. The 
resource exchange created by the enricher is always an in-out exchange.</p>
-
-<p><strong>Using Spring XML</strong></p>
-
-<p>The same example in the Spring DSL</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;camelContext id=&quot;camel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><p>Using this template the original exchange can be of any 
pattern. The resource exchange created by the enricher is always an in-out 
exchange.</p><p><strong>Using Spring XML</strong></p><p>The same example in the 
Spring DSL</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;camelContext id=&quot;camel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
   &lt;route&gt;
     &lt;from uri=&quot;direct:start&quot;/&gt;
     &lt;enrich uri=&quot;direct:resource&quot; 
strategyRef=&quot;aggregationStrategy&quot;/&gt;
@@ -17265,106 +17147,52 @@ public class ExampleAggregationStrategy 
 
 &lt;bean id=&quot;aggregationStrategy&quot; class=&quot;...&quot; /&gt;
 ]]></script>
-</div></div>
-
-<h4 id="BookInOnePage-Aggregationstrategyisoptional">Aggregation strategy is 
optional</h4>
-<p>The aggregation strategy is optional. If you do not provide it Camel will 
by default just use the body obtained from the resource.</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:start&quot;)

[... 466 lines stripped ...]

Reply via email to