You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2014/09/11 12:19:21 UTC

svn commit: r921855 [7/14] - in /websites/production/camel/content: ./ cache/

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>dev@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>