Modified: websites/production/camel/content/content-enricher.html
==============================================================================
--- websites/production/camel/content/content-enricher.html (original)
+++ websites/production/camel/content/content-enricher.html Thu Sep 11 10:19:20 
2014
@@ -86,39 +86,20 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 
id="ContentEnricher-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="#ContentEnricher-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="ContentEnricher-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;).
+<div class="wiki-content maincontent"><h3 
id="ContentEnricher-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="#ContentEnricher-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="ContentEnricher-ContentenrichmentusingaMessageTranslatororaProcessor">Content
 enrichment using a Message Translator or a Process
 or</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) {
@@ -127,64 +108,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="ContentEnricher-enrich-dsl"></span></p>
-<h3 id="ContentEnricher-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="ContentEnricher-enrich-dsl"></span></p><h3 
id="ContentEnricher-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 shadowe
 d information-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="ContentEnricher-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="ContentEnricher-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 cols
 pan="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="confl
 uenceTd"><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)
@@ -193,13 +137,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();
@@ -215,17 +154,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;
@@ -239,106 +169,52 @@ public class ExampleAggregationStrategy 
 
 &lt;bean id=&quot;aggregationStrategy&quot; class=&quot;...&quot; /&gt;
 ]]></script>
-</div></div>
-
-<h4 id="ContentEnricher-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;)
+</div></div><h4 id="ContentEnricher-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;)
   .enrich(&quot;direct:resource&quot;)
   .to(&quot;direct:result&quot;);
 ]]></script>
-</div></div>
-<p>In the route above the message sent to the <code>direct:result</code> 
endpoint will contain the output from the <code>direct:resource</code> as we do 
not use any custom aggregation.</p>
-
-<p>And for Spring DSL just omit the <code>strategyRef</code> attribute:</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;
+</div></div><p>In the route above the message sent to the 
<code>direct:result</code> endpoint will contain the output from the 
<code>direct:resource</code> as we do not use any custom aggregation.</p><p>And 
for Spring DSL just omit the <code>strategyRef</code> attribute:</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;enrich uri=&quot;direct:resource&quot;/&gt;
     &lt;to uri=&quot;direct:result&quot;/&gt;
   &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<h3 id="ContentEnricher-ContentenrichmentusingpollEnrich">Content enrichment 
using <code>pollEnrich</code></h3>
-<p>The <code>pollEnrich</code> works just as the <code>enrich</code> however 
as it uses a <a shape="rect" href="polling-consumer.html">Polling Consumer</a> 
we have 3 methods when polling</p>
-<ul 
class="alternate"><li>receive</li><li>receiveNoWait</li><li>receive(timeout)</li></ul>
-
-
-<h3 id="ContentEnricher-PollEnrichOptions">PollEnrich 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><tr><td colspan="1" rowspan="1" 
 > class="confluenceTd"><p> <code>timeout</code> </p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p> <code>-1</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Timeout in millis when polling from the 
external service. See below for important details about the timeout. 
</p></td></tr></tbody></table></div>
-</div>
-
-    <div class="aui-message hint shadowed information-macro">
+</div></div><h3 id="ContentEnricher-ContentenrichmentusingpollEnrich">Content 
enrichment using <code>pollEnrich</code></h3><p>The <code>pollEnrich</code> 
works just as the <code>enrich</code> however as it uses a <a shape="rect" 
href="polling-consumer.html">Polling Consumer</a> we have 3 methods when 
polling</p><ul 
class="alternate"><li>receive</li><li>receiveNoWait</li><li>receive(timeout)</li></ul><h3
 id="ContentEnricher-PollEnrichOptions">PollEnrich 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 ex
 ternal 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>fals
 e</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>timeout</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Timeout in millis when polling from the 
external service. See below for important details about the 
timeout.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><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 aggregat
 e 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>    <div class="aui-message hint 
shadowed information-macro">
                     <p class="title">Good practice to use timeout value</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<p>By default Camel will use the <code>receive</code>. Which may block until 
there is a message available. It is therefore recommended to always provide a 
timeout value, to make this clear that we may wait for a message, until the 
timeout is hit.</p>
+                            <p>By default Camel will use the 
<code>receive</code>. Which may block until there is a message available. It is 
therefore recommended to always provide a timeout value, to make this clear 
that we may wait for a message, until the timeout is hit.</p>
                     </div>
     </div>
-
-
-<p>If there is no data then the <code>newExchange</code> in the aggregation 
strategy is <code>null</code>. </p>
-
-<p>You can pass in a timeout value that determines which method to use</p>
-<ul class="alternate"><li>if timeout is -1 or other negative number then 
<code>receive</code> is selected (<strong>Important:</strong> the 
<code>receive</code> method may block if there is no message)</li><li>if 
timeout is 0 then <code>receiveNoWait</code> is selected</li><li>otherwise 
<code>receive(timeout)</code> is selected</li></ul>
-
-
-<p>The timeout values is in millis.</p>
-
-    <div class="aui-message problem shadowed information-macro">
+<p>If there is no data then the <code>newExchange</code> in the aggregation 
strategy is <code>null</code>.</p><p>You can pass in a timeout value that 
determines which method to use</p><ul class="alternate"><li>if timeout is -1 or 
other negative number then <code>receive</code> is selected 
(<strong>Important:</strong> the <code>receive</code> method may block if there 
is no message)</li><li>if timeout is 0 then <code>receiveNoWait</code> is 
selected</li><li>otherwise <code>receive(timeout)</code> is 
selected</li></ul><p>The timeout values is in millis.</p>    <div 
class="aui-message problem shadowed information-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> 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><code>pollEnrich</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>
                     </div>
     </div>
-
-
-<h4 id="ContentEnricher-Example">Example</h4>
-
-<p>In this example we enrich the message by loading the content from the file 
named inbox/data.txt. </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;)
+<h4 id="ContentEnricher-Example">Example</h4><p>In this example we enrich the 
message by loading the content from the file named inbox/data.txt.</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;direct:result&quot;);
 ]]></script>
-</div></div>
-
-<p>And in XML DSL you do:</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;
+</div></div><p>And in XML DSL you do:</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;direct:result&quot;/&gt;
   &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<p>If there is no file then the message is empty. We can use a timeout to 
either wait (potentially forever) until a file exists, or use a timeout to wait 
a certain period.</p>
-
-<p>For example to wait up to 5 seconds you can do:</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;
+</div></div><p>If there is no file then the message is empty. We can use a 
timeout to either wait (potentially forever) until a file exists, or use a 
timeout to wait a certain period.</p><p>For example to wait up to 5 seconds you 
can do:</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; 
timeout=&quot;5000&quot;/&gt;
     &lt;to uri=&quot;direct:result&quot;/&gt;
   &lt;/route&gt;
 ]]></script>
-</div></div>
-
-
-<h4 id="ContentEnricher-UsingThisPattern">Using This Pattern</h4>
+</div></div><p></p><h4 id="ContentEnricher-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>

Modified: websites/production/camel/content/contributing.html
==============================================================================
--- websites/production/camel/content/contributing.html (original)
+++ websites/production/camel/content/contributing.html Thu Sep 11 10:19:20 2014
@@ -98,7 +98,7 @@ mvn eclipse:eclipse
 </div></div><p>or</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[git diff --no-prefix &gt; patchfile.txt
 ]]></script>
-</div></div><h2 id="Contributing-Submittingpatches">Submitting 
patches</h2><p>The easiest way to submit a patch is to</p><ul><li><a 
shape="rect" class="external-link" 
href="http://issues.apache.org/activemq/browse/CAMEL";>create a new JIRA 
issue</a> (you will need to register),</li><li>attach the patch or tarball as 
an attachment</li><li><strong>tick the Patch Attached</strong> button on the 
issue</li></ul><p>We prefer patches has unit tests as well and that these unit 
tests have proper assertions as well, so remember to replace your system.out or 
logging with an assertion instead!</p><h2 
id="Contributing-WorkingwithGit">Working with Git</h2><p>There are several ways 
how Git users could improve Camel with their prefered tool:</p><ul><li>Apache 
Git Mirror</li><li>Pull request at Github</li></ul><h3 
id="Contributing-ApacheGitMirror">Apache Git Mirror</h3><p>Cloning the Apache 
git repo.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div><h2 id="Contributing-Submittingpatches">Submitting 
patches</h2><p>The easiest way to submit a patch is to</p><ul><li><a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL";>create a new JIRA issue</a> 
(you will need to register),</li><li>attach the patch or tarball as an 
attachment</li><li><strong>tick the Patch Attached</strong> button on the 
issue</li></ul><p>We prefer patches has unit tests as well and that these unit 
tests have proper assertions as well, so remember to replace your system.out or 
logging with an assertion instead!</p><h2 
id="Contributing-WorkingwithGit">Working with Git</h2><p>There are several ways 
how Git users could improve Camel with their prefered tool:</p><ul><li>Apache 
Git Mirror</li><li>Pull request at Github</li></ul><h3 
id="Contributing-ApacheGitMirror">Apache Git Mirror</h3><p>Cloning the Apache 
git repo.</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[git clone 
https://git-wip-us.apache.org/repos/asf/camel.git]]></script>
 </div></div><p>Bringing your modifications back to Apache is the <a 
shape="rect" class="external-link" 
href="https://git-wip-us.apache.org/docs/workflow.html";>same workflow as 
described before</a>.</p><h3 id="Contributing-PullrequestatGithub">Pull request 
at Github</h3><p>There is also a Git <a shape="rect" class="external-link" 
href="https://github.com/apache/camel"; rel="nofollow">repository at Github</a> 
which you could fork. Then you submit patches as any other github project - eg 
work on a new feature branch and send a pull request. One of the committers 
then needs to accept your pull request to bring the code &#160;to the ASF 
codebase. After the code has been included into the ASF codebase, you need to 
close the pull request because we can't do that...</p><h3 
id="Contributing-Moreresources">More resources</h3><p>Git is not a brand new 
technology and therefore Camel is not the only ASF project thinking about using 
it. So here are some more resources you mind find useful:</p><ul>
 <li><a shape="rect" class="external-link" 
href="http://wiki.apache.org/general/GitAtApache";>http://wiki.apache.org/general/GitAtApache</a>:
 Some basic notes about git@asf</li><li><a shape="rect" class="external-link" 
href="http://git.apache.org/";>http://git.apache.org/</a>: List of mgit-mirrors 
at ASF</li><li><a shape="rect" class="external-link" 
href="https://git-wip-us.apache.org/";>https://git-wip-us.apache.org/</a>: More 
Git infos from Apache</li></ul><h2 
id="Contributing-Becomingacommitter">Becoming a committer</h2><p>Once you've 
got involved as above, we may well invite you to be a committer. See <a 
shape="rect" href="how-do-i-become-a-committer.html">How do I become a 
committer</a> for more details.</p><h2 
id="Contributing-Usingtheissuetracker">Using the issue tracker</h2><p>Before 
you can raise an issue in the <a shape="rect" class="external-link" 
href="http://issues.apache.org/activemq/browse/CAMEL";>issue tracker</a> you 
need to register with it. This is quick &amp; painless
 .</p><p>If you want to have a go at fixing an issue you need to be in the list 
of activemq-developers on the issue tracker. To join the group, please mail the 
<code>d...@camel.apache.org</code> mail list with the email address you used to 
register with the issue tracker and we'll add you to the group.</p><h2 
id="Contributing-Becommingacommitter">Becomming a committer</h2><p>The first 
step is contributing to the project; if you want to take that a step forward 
and become a fellow committer on the project then see the <a shape="rect" 
class="external-link" 
href="http://activemq.apache.org/becoming-a-committer.html";>Committer 
Guide</a></p></div>
         </td>

Modified: websites/production/camel/content/correlation-identifier.html
==============================================================================
--- websites/production/camel/content/correlation-identifier.html (original)
+++ websites/production/camel/content/correlation-identifier.html Thu Sep 11 
10:19:20 2014
@@ -36,6 +36,16 @@
     <![endif]-->
 
 
+  <link href='//camel.apache.org/styles/highlighter/styles/shCoreCamel.css' 
rel='stylesheet' type='text/css' />
+  <link href='//camel.apache.org/styles/highlighter/styles/shThemeCamel.css' 
rel='stylesheet' type='text/css' />
+  <script src='//camel.apache.org/styles/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
+  
+  <script type="text/javascript">
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+  </script>
 
     <title>
     Apache Camel: Correlation Identifier
@@ -75,21 +85,17 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 
id="CorrelationIdentifier-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="CorrelationIdentifier-SeeAlso">See Also</h4>
-
-<ul><li><a shape="rect" href="bam.html">BAM</a></li></ul></div>
+<div class="wiki-content maincontent"><h3 
id="CorrelationIdentifier-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";
 d
 
ata-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><p>The following example demonstrates using 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="CorrelationIdentifier-SeeAlso">See Also</h4><ul><li><a 
shape="rect" href="bam.html">BAM</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/cxf.html
==============================================================================
--- websites/production/camel/content/cxf.html (original)
+++ websites/production/camel/content/cxf.html Thu Sep 11 10:19:20 2014
@@ -99,11 +99,11 @@
                     </div>
     </div>
 <p>The <strong>cxf:</strong> component provides integration with <a 
shape="rect" href="http://cxf.apache.org";>Apache CXF</a> for connecting to 
JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1407575856959 {padding: 0px;}
-div.rbtoc1407575856959 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1407575856959 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1410430649764 {padding: 0px;}
+div.rbtoc1410430649764 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1410430649764 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1407575856959">
+/*]]>*/</style></p><div class="toc-macro rbtoc1410430649764">
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF 
Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI 
format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#CXF-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>

Modified: websites/production/camel/content/cxfrs.html
==============================================================================
--- websites/production/camel/content/cxfrs.html (original)
+++ websites/production/camel/content/cxfrs.html Thu Sep 11 10:19:20 2014
@@ -108,7 +108,7 @@
 </div></div><p>Where <strong>rsEndpoint</strong> represents the spring bean's 
name which presents the CXFRS client or server</p><p>For either style above, 
you can append options to the URI as follows:</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[cxfrs:bean:cxfEndpoint?resourceClasses=org.apache.camel.rs.Example
 ]]></script>
-</div></div><h3 id="CXFRS-Options">Options</h3><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>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Required?</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>default value</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClasses</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The resource classes which you 
want to export as REST service. Multiple classes can be separated by 
comma.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClasses=org.apache.camel.rs.Example1,</code><br
 clear="none"> <code>org.apache.camel.rs.Exchange2</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" 
 class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated</strong>: 
Use <code>resourceClasses</code> The resource class which you want to export as 
REST service.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClass 
=org.apache.camel.rs.Example1</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpClientAPI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>new to Camel 
2.1</strong> If it is true, the CxfRsProducer will use the HttpClientAPI to 
invoke the service <br clear="none" class="atl-forced-newline"> If it is false, 
the CxfRsProducer will use the ProxyClientAPI to invoke the service</p></td><td 
colspan="1" r
 owspan="1" class="confluenceTd"><p>httpClientAPI=true</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>true</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>synchronous</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.5, this option will let 
CxfRsConsumer decide to use sync or async API to do the underlying work. The 
default value is false which means it will try to use async API by 
default.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>synchronous=true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>throwExceptionOnFailure</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.6, this option tells the 
CxfRsProducer to inspect return codes and will generate an Exception if the 
return cod
 e is larger than 207.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>throwExceptionOnFailure=true</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxClientCacheSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.6, you can set a IN message header 
CamelDestinationOverrideUrl to dynamically override the target destination Web 
Service or REST Service defined in your routes.&#160; The implementation caches 
CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider.&#160; This 
option allows you to configure the maximum size of the cache.</p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>maxClientCacheSize=5</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>10</p></td></tr><tr><td colspan="1" rowspan="1" cl
 ass="confluenceTd"><p><code>setDefaultBus</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.9.0. Will set the default bus when 
CXF endpoint create a bus by itself</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>setDefaultBus=true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>bus</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.9.0. A default bus created by CXF 
Bus Factory. Use <code>#</code> notation to reference a bus object from the 
registry. The referenced object must be an instance of 
<code>org.apache.cxf.Bus</code>.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bus=#busName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em
 ></p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>bindingStyle</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>As of 2.11</strong>. Sets how 
 >requests and responses will be mapped to/from Camel. Two values are 
 >possible:</p><ul class="alternate"><li><code>SimpleConsumer</code> =&gt; see 
 >the <a shape="rect" 
 >href="#CXFRS-ConsumingaRESTRequest-SimpleBindingStyle">Consuming a REST 
 >Request with the Simple Binding Style</a> below.</li><li><code>Default</code> 
 >=&gt; the default style. For consumers this passes on a 
 ><code>MessageContentsList</code> to the route, requiring low-level processing 
 >in the route.</li></ul></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>bindingStyle=SimpleConsumer</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><em>Default</em></p></td></tr><tr><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-heigh
 t: 1.4285715;">providers</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.2</strong><span style="line-height: 1.4285715;"> set custom JAX-RS 
providers list to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>providers=#MyProviders</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">schemaLocations</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.2</strong><span style="line-height: 1.4285715;"> Sets the locations of the 
schemas which can be used to validate the incoming XML or JAXB-driven 
JSON.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>schemaLocations=#My
 SchemaLocations</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">features</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.3</strong><span style="line-height: 1.4285715;"> Set the feature list to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>features=#MyFeatures</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="li
 ne-height: 1.4285715;"> Set the properties to the CxfRs 
endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties=#MyProperties</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the inInterceptors to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inInterceptors=#MyInterceptors</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outInterceptors</p></td><td colspan="1
 " rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.4</strong><span style="line-height: 1.4285715;"> 
Set the outInterceptor to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">outInterceptors=#MyInterceptors</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inFaultInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the 
inFaultInterceptors to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">inFaultInterceptors=#MyInterceptors</s
 pan></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
style="line-height: 1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outFaultIntercetpros</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.4</strong><span style="line-height: 1.4285715;"> 
Set the outFaultInterceptors to the CxfRs endpoint.</span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">outFaultInterceptors=#MyInterceptors</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>continuationTimeout</p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;"><strong>Since</strong>&#160;</span><strong style="line-height: 
1.4285715;">Camel 2.14.0&#160;</strong><span style="line-height: 
1.4285715;">This option is used to set the CXF continuation timeout which could 
be used in CxfConsumer by default when the CXF server is using Jetty or Servlet 
transport. (Before&#160;</span><strong style="line-height: 1.4285715;">Camel 
2.14.0</strong><span style="line-height: 1.4285715;">, CxfConsumer just set the 
continuation timeout to be 0, which means the continuation suspend operation 
never timeout.)</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">continuationTimeout=800000</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">30000</em></p></td></tr></tbody></table></div><p>You can also 
configure the CXF R
 EST endpoint through the spring configuration. Since there are lots of 
difference between the CXF REST client and CXF REST Server, we provide 
different configuration for them.<br clear="none"> Please check out the <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd";>schema
 file</a> and <a shape="rect" class="external-link" 
href="https://cwiki.apache.org/CXF20DOC/JAX-RS";>CXF JAX-RS documentation</a> 
for more information.</p><h3 
id="CXFRS-HowtoconfiguretheRESTendpointinCamel">How to configure the REST 
endpoint in Camel</h3><p>In <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd";>camel-cxf
 schema file</a>, there are two elements for the REST endpoint definition. 
<strong>cxf:rsServer</strong> for REST consumer, <strong>cxf:rsClient</strong> 
for REST producer.<br clear="none"> You can find a
  Camel REST service route configuration example here.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="CXFRS-Options">Options</h3><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>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Required?</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>default value</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClasses</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The resource classes which you 
want to export as REST service. Multiple classes can be separated by 
comma.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClasses=org.apache.camel.rs.Example1,</code><br
 clear="none"> <code>org.apache.camel.rs.Exchange2</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" 
 class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated</strong>: 
Use <code>resourceClasses</code> The resource class which you want to export as 
REST service.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClass 
=org.apache.camel.rs.Example1</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpClientAPI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>new to Camel 
2.1</strong> If it is true, the CxfRsProducer will use the HttpClientAPI to 
invoke the service <br clear="none" class="atl-forced-newline"> If it is false, 
the CxfRsProducer will use the ProxyClientAPI to invoke the service</p></td><td 
colspan="1" r
 owspan="1" class="confluenceTd"><p>httpClientAPI=true</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>true</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>synchronous</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.5, this option will let 
CxfRsConsumer decide to use sync or async API to do the underlying work. The 
default value is false which means it will try to use async API by 
default.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>synchronous=true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>throwExceptionOnFailure</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.6, this option tells the 
CxfRsProducer to inspect return codes and will generate an Exception if the 
return cod
 e is larger than 207.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>throwExceptionOnFailure=true</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxClientCacheSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.6, you can set a IN message header 
CamelDestinationOverrideUrl to dynamically override the target destination Web 
Service or REST Service defined in your routes.&#160; The implementation caches 
CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider.&#160; This 
option allows you to configure the maximum size of the cache.</p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>maxClientCacheSize=5</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>10</p></td></tr><tr><td colspan="1" rowspan="1" cl
 ass="confluenceTd"><p><code>setDefaultBus</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.9.0. Will set the default bus when 
CXF endpoint create a bus by itself</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>setDefaultBus=true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>bus</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>New in 2.9.0. A default bus created by CXF 
Bus Factory. Use <code>#</code> notation to reference a bus object from the 
registry. The referenced object must be an instance of 
<code>org.apache.cxf.Bus</code>.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bus=#busName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em
 ></p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>bindingStyle</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>As of 2.11</strong>. Sets how 
 >requests and responses will be mapped to/from Camel. Two values are 
 >possible:</p><ul class="alternate"><li><code>SimpleConsumer</code> =&gt; see 
 >the <a shape="rect" 
 >href="#CXFRS-ConsumingaRESTRequest-SimpleBindingStyle">Consuming a REST 
 >Request with the Simple Binding Style</a> below.</li><li><code>Default</code> 
 >=&gt; the default style. For consumers this passes on a 
 ><code>MessageContentsList</code> to the route, requiring low-level processing 
 >in the route.</li><li><span style="font-family: monospace;">Custom</span> 
 >=&gt; allows you to specify a custom binding through the <code>binding</code> 
 >option.</li></ul></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>bindingStyle=SimpleConsumer</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p><em>Default</em></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><span>binding</span></td><td 
colspan="1" rowspan="1" class="confluenceTd">Allows you to specify a custom 
<code>CxfRsBinding</code> implementation to perform low-level processing of the 
raw CXF request and response objects. The implementation must be bound in the 
Camel registry, and you must use the hash (#) notation to refer to it.</td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><code><span>binding=#myBinding</span></code></td><td 
colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>DefaultCxfRsBinding</code></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">providers</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.2</strong><span style="line-height: 1.4285715;"> set custom JAX-RS
  providers list to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>providers=#MyProviders</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">schemaLocations</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.2</strong><span style="line-height: 1.4285715;"> Sets the locations of the 
schemas which can be used to validate the incoming XML or JAXB-driven 
JSON.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>schemaLocations=#MySchemaLocations</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p><
 /td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
style="line-height: 1.4285715;">features</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.3</strong><span style="line-height: 1.4285715;"> 
Set the feature list to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>features=#MyFeatures</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the properties to the 
CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>properties=#MyProperties</code></p></
 td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the inInterceptors to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>inInterceptors=#MyInterceptors</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set th
 e outInterceptor to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">outInterceptors=#MyInterceptors</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inFaultInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the 
inFaultInterceptors to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">inFaultInterceptors=#MyInterceptors</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outFaultIntercetpros</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.4</strong><span style="line-height: 1.4285715;"> 
Set the outFaultInterceptors to the CxfRs endpoint.</span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">outFaultInterceptors=#MyInterceptors</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>continuationTimeout</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;"><strong>Since</strong>&#160;</s
 pan><strong style="line-height: 1.4285715;">Camel 2.14.0&#160;</strong><span 
style="line-height: 1.4285715;">This option is used to set the CXF continuation 
timeout which could be used in CxfConsumer by default when the CXF server is 
using Jetty or Servlet transport. (Before&#160;</span><strong 
style="line-height: 1.4285715;">Camel 2.14.0</strong><span style="line-height: 
1.4285715;">, CxfConsumer just set the continuation timeout to be 0, which 
means the continuation suspend operation never timeout.)</span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">continuationTimeout=800000</span></code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">30000</em></p></td></tr></tbody></table></div><p>You can also 
configure the CXF REST endpoint through the spring configuration. Since there 
are lots of difference between the CXF 
 REST client and CXF REST Server, we provide different configuration for 
them.<br clear="none"> Please check out the <a shape="rect" 
class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd";>schema
 file</a> and <a shape="rect" class="external-link" 
href="https://cwiki.apache.org/CXF20DOC/JAX-RS";>CXF JAX-RS documentation</a> 
for more information.</p><h3 
id="CXFRS-HowtoconfiguretheRESTendpointinCamel">How to configure the REST 
endpoint in Camel</h3><p>In <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd";>camel-cxf
 schema file</a>, there are two elements for the REST endpoint definition. 
<strong>cxf:rsServer</strong> for REST consumer, <strong>cxf:rsClient</strong> 
for REST producer.<br clear="none"> You can find a Camel REST service route 
configuration example here.</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;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
        xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;

Modified: websites/production/camel/content/event-driven-consumer.html
==============================================================================
--- websites/production/camel/content/event-driven-consumer.html (original)
+++ websites/production/camel/content/event-driven-consumer.html Thu Sep 11 
10:19:20 2014
@@ -36,6 +36,16 @@
     <![endif]-->
 
 
+  <link href='//camel.apache.org/styles/highlighter/styles/shCoreCamel.css' 
rel='stylesheet' type='text/css' />
+  <link href='//camel.apache.org/styles/highlighter/styles/shThemeCamel.css' 
rel='stylesheet' type='text/css' />
+  <script src='//camel.apache.org/styles/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
+  
+  <script type="text/javascript">
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+  </script>
 
     <title>
     Apache Camel: Event Driven Consumer
@@ -75,20 +85,15 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 
id="EventDrivenConsumer-EventDrivenConsumer">Event Driven Consumer</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/EventDrivenConsumer.html"; 
rel="nofollow">Event Driven Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a>. The default 
consumer model is event based (i.e. asynchronous) as this means that the Camel 
container can then manage pooling, threading and concurrency for you in a 
declarative manner.</p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerSolution.gif";></p>
-
-<p>The Event Driven Consumer is implemented by consumers implementing the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Processor.html";>Processor</a>
 interface which is invoked by the <a shape="rect" 
href="message-endpoint.html">Message Endpoint</a> when a <a shape="rect" 
href="message.html">Message</a> is available for processing.</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="EventDrivenConsumer-UsingThisPattern">Using This Pattern</h4>
+<div class="wiki-content maincontent"><h3 
id="EventDrivenConsumer-EventDrivenConsumer">Event Driven Consumer</h3><p>Camel 
supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/EventDrivenConsumer.html"; 
rel="nofollow">Event Driven Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a>. The default 
consumer model is event based (i.e. asynchronous) as this means that the Camel 
container can then manage pooling, threading and concurrency for you in a 
declarative manner.</p><p><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerSolution.gif";
 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerSolution.gif";></p><p>The
 Event Driven Consumer is implemented by consumers implementing the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apid
 ocs/org/apache/camel/Processor.html">Processor</a> interface which is invoked 
by the <a shape="rect" href="message-endpoint.html">Message Endpoint</a> when a 
<a shape="rect" href="message.html">Message</a> is available for 
processing.</p><h4 id="EventDrivenConsumer-Example">Example</h4><p>The 
following demonstrates a&#160;<a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Processor.html";>Processor</a>&#160;defined
 in the Camel &#160;<a shape="rect" 
href="registry.html">Registry</a>&#160;which is invoked when an event occurs 
from a&#160;<a shape="rect" href="jms.html">JMS</a> queue</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;jms:queue:foo&quot;)
+       .processRef(&quot;processor&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;jms:queue:foo&quot;/&gt;
+       &lt;to uri=&quot;processor&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></li><li><a shape="rect" 
href="message-endpoint.html">Message Endpoint</a></li></ul><p></p><h4 
id="EventDrivenConsumer-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