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/01/06 07:22:16 UTC

svn commit: r892946 [12/15] - in /websites/production/camel/content: ./ 2007/08/17/ 2007/08/20/ 2007/10/01/ 2007/10/28/ 2008/04/08/ 2008/04/22/ 2008/04/28/ 2008/07/22/ 2008/10/31/ 2009/01/19/ 2009/02/03/ 2009/02/17/ 2009/03/17/ 2009/05/19/ 2009/06/15/ ...

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Mon Jan  6 06:22:14 2014
@@ -4267,11 +4267,11 @@ While not actual tutorials you might fin
 
 <p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service.  The route works in a synchronous fashion returning a response to the client.</p>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1388845120968 {padding: 0px;}
-div.rbtoc1388845120968 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1388845120968 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1388989177874 {padding: 0px;}
+div.rbtoc1388989177874 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1388989177874 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1388845120968">
+/*]]>*/</style><div class="toc-macro rbtoc1388989177874">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing the Server</a>
@@ -6612,11 +6612,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1388845121846 {padding: 0px;}
-div.rbtoc1388845121846 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1388845121846 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1388989178479 {padding: 0px;}
+div.rbtoc1388989178479 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1388989178479 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1388845121846">
+/*]]>*/</style><div class="toc-macro rbtoc1388989178479">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the Example</a></li></ul>
@@ -22780,11 +22780,11 @@ template.send(&quot;direct:alias-verify&
 <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>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1388845136528 {padding: 0px;}
-div.rbtoc1388845136528 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1388845136528 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1388989183384 {padding: 0px;}
+div.rbtoc1388989183384 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1388989183384 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1388845136528">
+/*]]>*/</style><div class="toc-macro rbtoc1388989183384">
 <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>
@@ -23683,70 +23683,34 @@ cxfbean:serviceBeanRef
 ]]></script>
 </div></div>
 <p>That's it.  Once the route is started, the web service is ready for business.  A HTTP client can make a request and receive response.</p>
-<h2 id="BookInOnePage-CXFRSComponent">CXFRS Component</h2>
-
-    <div class="aui-message warning shadowed information-macro">
+<h2 id="BookInOnePage-CXFRSComponent">CXFRS Component</h2>    <div class="aui-message warning shadowed information-macro">
                             <span class="aui-icon icon-warning">Icon</span>
                 <div class="message-content">
-                            
-<p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to consume web services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p>
+                            <p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to consume web services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p>
                     </div>
     </div>
-
-
-<p>The <strong>cxfrs:</strong> component provides integration with <a shape="rect" class="external-link" href="http://incubator.apache.org/cxf/">Apache CXF</a> for connecting to JAX-RS services hosted in CXF.</p>
-
-<p>Maven users will need to add the following dependency to their pom.xml for this component:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+<p>The <strong>cxfrs:</strong> component provides integration with <a shape="rect" class="external-link" href="http://incubator.apache.org/cxf/">Apache CXF</a> for connecting to JAX-RS services hosted in CXF.</p><p>Maven users will need to add the following dependency to their pom.xml for this component:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
    &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
    &lt;artifactId&gt;camel-cxf&lt;/artifactId&gt;
    &lt;version&gt;x.x.x&lt;/version&gt;  &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-URIformat.14">URI format</h3>
-
-<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://address?options
+</div></div><h3 id="BookInOnePage-URIformat.14">URI format</h3><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://address?options
 ]]></script>
-</div></div>
-<p>Where <strong>address</strong> represents the CXF endpoint's address</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:rsEndpoint
+</div></div><p>Where <strong>address</strong> represents the CXF endpoint's address</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:rsEndpoint
 ]]></script>
-</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
+</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="BookInOnePage-Options.31">Options</h3>
-<div class="confluenceTableSmall">
-<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">
+</div></div><h3 id="BookInOnePage-Options.31">Options</h3><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 se
 rvice <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" rowspan="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="confluenc
 eTd"><p> New in 2.6, this option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code 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. <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> maxClien
 tCacheSize=5 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 10 </p></td></tr><tr><td colspan="1" rowspan="1" class="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" type="square"><li><code>SimpleConsumer</code> =&gt; see the <a shape="rect" href="#BookInOnePage-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> <code>providers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since Camel 2.12.2</strong> Add custom JAX-RS providers to the list of providers. </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>schemaLocations</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since Camel 2.12.2</strong> Sets the locations of the schemas which can be used to validate the incoming XML or JAXB-driven JSON. </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></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="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF REST user guide</a> for more information.</p>
-
-<h3 id="BookInOnePage-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">
+<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="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF REST user guide</a> for more information.</p><h3 id="BookInOnePage-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;
@@ -23798,87 +23762,25 @@ You can find a Camel REST service route 
   
 &lt;/beans&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-ConsumingaRESTRequest-SimpleBindingStyle">Consuming a REST Request - Simple Binding Style</h3>
-
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>The <code>Default</code> binding style is rather low-level, requiring the user to manually process the <code>MessageContentsList</code> object coming into the route. Thus, it tightly couples the route logic with the method signature and parameter indices of the JAX-RS operation. Somewhat inelegant, difficult and error-prone.</p>
-
-<p>In contrast, the <code>SimpleConsumer</code> binding style performs the following mappings, in order to <strong>make the request data more accessible</strong> to you within the Camel Message:</p>
-
-<ul><li>JAX-RS Parameters (@HeaderParam, @QueryParam, etc.) are injected as IN message headers. The header name matches the value of the annotation.</li><li>The request entity (POJO or other type) becomes the IN message body. If a single entity cannot be identified in the JAX-RS method signature, it falls back to the original <code>MessageContentsList</code>.</li><li>Binary <code>@Multipart</code> body parts become IN message attachments, supporting <code>DataHandler</code>, <code>InputStream</code>, <code>DataSource</code> and CXF's <code>Attachment</code> class.</li><li>Non-binary <code>@Multipart</code> body parts are mapped as IN message headers. The header name matches the Body Part name.</li></ul>
-
-
-<p>Additionally, the following rules apply to the <strong>Response mapping</strong>:</p>
-
-<ul><li>If the message body type is different to <code>javax.ws.rs.core.Response</code> (user-built response), a new <code>Response</code> is created and the message body is set as the entity (so long it's not null). The response status code is taken from the <code>Exchange.HTTP_RESPONSE_CODE</code> header, or defaults to 200 OK if not present.</li><li>If the message body type is equal to <code>javax.ws.rs.core.Response</code>, it means that the user has built a custom response, and therefore it is respected and it becomes the final response.</li><li>In all cases, Camel headers permitted by custom or default <code>HeaderFilterStrategy</code> are added to the HTTP response.</li></ul>
-
-
-<h4 id="BookInOnePage-EnablingtheSimpleBindingStyle">Enabling the Simple Binding Style</h4>
-
-<p>This binding style can be activated by setting the <code>bindingStyle</code> parameter in the consumer endpoint to value <code>SimpleConsumer</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;cxfrs:bean:rsServer?bindingStyle=SimpleConsumer&quot;)
+</div></div><h3 id="BookInOnePage-ConsumingaRESTRequest-SimpleBindingStyle">Consuming a REST Request - Simple Binding Style</h3><p><strong>Available as of Camel 2.11</strong></p><p>The <code>Default</code> binding style is rather low-level, requiring the user to manually process the <code>MessageContentsList</code> object coming into the route. Thus, it tightly couples the route logic with the method signature and parameter indices of the JAX-RS operation. Somewhat inelegant, difficult and error-prone.</p><p>In contrast, the <code>SimpleConsumer</code> binding style performs the following mappings, in order to <strong>make the request data more accessible</strong> to you within the Camel Message:</p><ul><li>JAX-RS Parameters (@HeaderParam, @QueryParam, etc.) are injected as IN message headers. The header name matches the value of the annotation.</li><li>The request entity (POJO or other type) becomes the IN message body. If a single entity cannot be identified in the JAX-RS method s
 ignature, it falls back to the original <code>MessageContentsList</code>.</li><li>Binary <code>@Multipart</code> body parts become IN message attachments, supporting <code>DataHandler</code>, <code>InputStream</code>, <code>DataSource</code> and CXF's <code>Attachment</code> class.</li><li>Non-binary <code>@Multipart</code> body parts are mapped as IN message headers. The header name matches the Body Part name.</li></ul><p>Additionally, the following rules apply to the <strong>Response mapping</strong>:</p><ul><li>If the message body type is different to <code>javax.ws.rs.core.Response</code> (user-built response), a new <code>Response</code> is created and the message body is set as the entity (so long it's not null). The response status code is taken from the <code>Exchange.HTTP_RESPONSE_CODE</code> header, or defaults to 200 OK if not present.</li><li>If the message body type is equal to <code>javax.ws.rs.core.Response</code>, it means that the user has built a custom response, a
 nd therefore it is respected and it becomes the final response.</li><li>In all cases, Camel headers permitted by custom or default <code>HeaderFilterStrategy</code> are added to the HTTP response.</li></ul><h4 id="BookInOnePage-EnablingtheSimpleBindingStyle">Enabling the Simple Binding Style</h4><p>This binding style can be activated by setting the <code>bindingStyle</code> parameter in the consumer endpoint to value <code>SimpleConsumer</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;cxfrs:bean:rsServer?bindingStyle=SimpleConsumer&quot;)
     .to(&quot;log:TEST?showAll=true&quot;);
 ]]></script>
-</div></div>
-
-<h4 id="BookInOnePage-Examplesofrequestbindingwithdifferentmethodsignatures">Examples of request binding with different method signatures</h4>
-
-<p>Below is a list of method signatures along with the expected result from the Simple binding.</p>
-
-<p><strong><code>public Response doAction(BusinessObject request);</code></strong><br clear="none">
-Request payload is placed in IN message body, replacing the original MessageContentsList.</p>
-
-<p><strong><code>public Response doAction(BusinessObject request, @HeaderParam("abcd") String abcd, @QueryParam("defg") String defg);</code></strong><br clear="none">
-Request payload placed in IN message body, replacing the original MessageContentsList. Both request params mapped as IN message headers with names abcd and defg.</p>
-
-<p><strong><code>public Response doAction(@HeaderParam("abcd") String abcd, @QueryParam("defg") String defg);</code></strong><br clear="none">
-Both request params mapped as IN message headers with names abcd and defg. The original MessageContentsList is preserved, even though it only contains the 2 parameters.</p>
-
-<p><strong><code>public Response doAction(@Multipart(value="body1") BusinessObject request, @Multipart(value="body2") BusinessObject request2);</code></strong><br clear="none">
-The first parameter is transferred as a header with name body1, and the second one is mapped as header body2. The original MessageContentsList is preserved as the IN message body.</p>
-
-<p><strong><code>public Response doAction(InputStream abcd);</code></strong><br clear="none">
-The InputStream is unwrapped from the MessageContentsList and preserved as the IN message body. </p>
-
-<p><strong><code>public Response doAction(DataHandler abcd);</code></strong><br clear="none">
-The DataHandler is unwrapped from the MessageContentsList and preserved as the IN message body. </p>
-
-<h4 id="BookInOnePage-MoreexamplesoftheSimpleBindingStyle">More examples of the Simple Binding Style</h4>
-
-<p>Given a JAX-RS resource class with this method:</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[
-    @POST @Path(&quot;/customers/{type}&quot;)
+</div></div><h4 id="BookInOnePage-Examplesofrequestbindingwithdifferentmethodsignatures">Examples of request binding with different method signatures</h4><p>Below is a list of method signatures along with the expected result from the Simple binding.</p><p><strong><code>public Response doAction(BusinessObject request);</code></strong><br clear="none"> Request payload is placed in IN message body, replacing the original MessageContentsList.</p><p><strong><code>public Response doAction(BusinessObject request, @HeaderParam("abcd") String abcd, @QueryParam("defg") String defg);</code></strong><br clear="none"> Request payload placed in IN message body, replacing the original MessageContentsList. Both request params mapped as IN message headers with names abcd and defg.</p><p><strong><code>public Response doAction(@HeaderParam("abcd") String abcd, @QueryParam("defg") String defg);</code></strong><br clear="none"> Both request params mapped as IN message headers with names abcd and defg. T
 he original MessageContentsList is preserved, even though it only contains the 2 parameters.</p><p><strong><code>public Response doAction(@Multipart(value="body1") BusinessObject request, @Multipart(value="body2") BusinessObject request2);</code></strong><br clear="none"> The first parameter is transferred as a header with name body1, and the second one is mapped as header body2. The original MessageContentsList is preserved as the IN message body.</p><p><strong><code>public Response doAction(InputStream abcd);</code></strong><br clear="none"> The InputStream is unwrapped from the MessageContentsList and preserved as the IN message body.</p><p><strong><code>public Response doAction(DataHandler abcd);</code></strong><br clear="none"> The DataHandler is unwrapped from the MessageContentsList and preserved as the IN message body.</p><h4 id="BookInOnePage-MoreexamplesoftheSimpleBindingStyle">More examples of the Simple Binding Style</h4><p>Given a JAX-RS resource class with this method:
 </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[    @POST @Path(&quot;/customers/{type}&quot;)
     public Response newCustomer(Customer customer, @PathParam(&quot;type&quot;) String type, @QueryParam(&quot;active&quot;) @DefaultValue(&quot;true&quot;) boolean active) {
         return null;
     }
 ]]></script>
-</div></div>
-
-<p>Serviced by the following route:</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;cxfrs:bean:rsServer?bindingStyle=SimpleConsumer&quot;)
+</div></div><p>Serviced by the following route:</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;cxfrs:bean:rsServer?bindingStyle=SimpleConsumer&quot;)
         .recipientList(simple(&quot;direct:${header.operationName}&quot;));
 
     from(&quot;direct:newCustomer&quot;)
         .log(&quot;Request: type=${header.type}, active=${header.active}, customerData=${body}&quot;);
 ]]></script>
-</div></div>
-
-<p>The following HTTP request with XML payload (given that the Customer DTO is JAXB-annotated):</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[
-POST /customers/gold?active=true
+</div></div><p>The following HTTP request with XML payload (given that the Customer DTO is JAXB-annotated):</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[POST /customers/gold?active=true
 
 Payload:
 &lt;Customer&gt;
@@ -23887,26 +23789,10 @@ Payload:
   &lt;project&gt;Apache Camel&lt;/project&gt;
 &lt;/Customer&gt;
 ]]></script>
-</div></div>
-
-<p>Will print the message:</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[
-Request: type=gold, active=true, customerData=&lt;Customer.toString() representation&gt;
+</div></div><p>Will print the message:</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[Request: type=gold, active=true, customerData=&lt;Customer.toString() representation&gt;
 ]]></script>
-</div></div>
-
-<p>For more examples on how to process requests and write responses can be found <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/">here</a>.</p>
-
-<h3 id="BookInOnePage-ConsumingaRESTRequest-DefaultBindingStyle">Consuming a REST Request - Default Binding Style</h3>
-
-<p><a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF JAXRS front end</a> implements the <a shape="rect" class="external-link" href="https://jsr311.dev.java.net/" rel="nofollow">JAXRS(JSR311) API</a>, so we can export the resources classes as a REST service. And we leverage the <a shape="rect" class="external-link" href="http://cwiki.apache.org/confluence/display/CXF20DOC/Invokers">CXF Invoker API</a> to turn a REST request into a normal Java object method invocation.<br clear="none">
-Unlike the <code>camel-restlet</code>, you don't need to specify the URI template within your restlet endpoint, CXF take care of the REST request URI to resource class method mapping according to the JSR311 specification. All you need to do in Camel is delegate this method request to a right processor or endpoint.</p>
-
-<p>Here is an example of a CXFRS route...</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>For more examples on how to process requests and write responses can be found <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/">here</a>.</p><h3 id="BookInOnePage-ConsumingaRESTRequest-DefaultBindingStyle">Consuming a REST Request - Default Binding Style</h3><p><a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF JAXRS front end</a> implements the <a shape="rect" class="external-link" href="https://jsr311.dev.java.net/" rel="nofollow">JAXRS(JSR311) API</a>, so we can export the resources classes as a REST service. And we leverage the <a shape="rect" class="external-link" href="http://cwiki.apache.org/confluence/display/CXF20DOC/Invokers">CXF Invoker API</a> to turn a REST request into a normal Java object method invocation.<br clear="none"> Unlike the <code>camel-restlet</code>, you don't need to specif
 y the URI template within your restlet endpoint, CXF take care of the REST request URI to resource class method mapping according to the JSR311 specification. All you need to do in Camel is delegate this method request to a right processor or endpoint.</p><p>Here is an example of a CXFRS route...</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[
 private static final String CXF_RS_ENDPOINT_URI = &quot;cxfrs://http://localhost:&quot; + CXT + &quot;/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource&quot;;
 
@@ -23975,20 +23861,13 @@ protected RouteBuilder createRouteBuilde
     };
 }
 ]]></script>
-</div></div>
-
-<p>And the corresponding resource class used to configure the endpoint...</p>
-
-    <div class="aui-message hint shadowed information-macro">
+</div></div><p>And the corresponding resource class used to configure the endpoint...</p>    <div class="aui-message hint shadowed information-macro">
                     <p class="title">note about the resource class</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<p>This class is used to configure the JAXRS properties ONLY.  The methods will NOT be executed during the routing of messages to the endpoint, the route itself is responsible for ALL processing instead.</p>
+                            <p>This class is used to configure the JAXRS properties ONLY. The methods will NOT be executed during the routing of messages to the endpoint, the route itself is responsible for ALL processing instead.</p>
                     </div>
     </div>
-
-
 <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[
 @Path(&quot;/customerservice/&quot;)
@@ -24003,16 +23882,7 @@ public interface CustomerServiceResource
     Response updateCustomer(Customer customer);
 }
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-HowtoinvoketheRESTservicethroughcamel-cxfrsproducer">How to invoke the REST service through camel-cxfrs producer</h3>
-
-<p><a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF JAXRS front end</a> implements <a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html#JAX-RS-ProxybasedAPI">a proxy based client API</a>, with this API you can invoke the remote REST service through a proxy.<br clear="none">
-<code>camel-cxfrs</code> producer is based on this <a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html#JAX-RS-ProxybasedAPI">proxy API</a>.<br clear="none">
-So, you just need to specify the operation name in the message header and prepare the parameter in the message body, camel-cxfrs producer will generate right REST request for you.</p>
-
-<p>Here is an example</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookInOnePage-HowtoinvoketheRESTservicethroughcamel-cxfrsproducer">How to invoke the REST service through camel-cxfrs producer</h3><p><a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF JAXRS front end</a> implements <a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html#JAX-RS-ProxybasedAPI">a proxy based client API</a>, with this API you can invoke the remote REST service through a proxy.<br clear="none"> <code>camel-cxfrs</code> producer is based on this <a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html#JAX-RS-ProxybasedAPI">proxy API</a>.<br clear="none"> So, you just need to specify the operation name in the message header and prepare the parameter in the message body, camel-cxfrs producer will generate right REST request for you.</p><p>Here is an example</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelCont
 ent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 Exchange exchange = template.send(&quot;direct://proxy&quot;, new Processor() {
     public void process(Exchange exchange) throws Exception {
@@ -24040,10 +23910,7 @@ assertEquals(&quot;Get a wrong customer 
 assertEquals(&quot;Get a wrong response code&quot;, 200, exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
 assertEquals(&quot;Get a wrong header value&quot;, &quot;value&quot;, exchange.getOut().getHeader(&quot;key&quot;));
 ]]></script>
-</div></div>
-<p><a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF JAXRS front end</a> also provides <a shape="rect" href="http://cxf.apache.org/docs/jax-rs.html#JAX-RS-HTTPcentricclients">a http centric client API</a>, You can also invoke this API from <code>camel-cxfrs</code> producer. You need to specify the HTTP_PATH and Http method and let the the producer know to use the http centric client by using the URI option <strong>httpClientAPI</strong> or set the message header with CxfConstants.CAMEL_CXF_RS_USING_HTTP_API. You can turn the response object to the type class that you specify with CxfConstants.CAMEL_CXF_RS_RESPONSE_CLASS.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p><a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF JAXRS front end</a> also provides <a shape="rect" href="http://cxf.apache.org/docs/jax-rs.html#JAX-RS-HTTPcentricclients">a http centric client API</a>, You can also invoke this API from <code>camel-cxfrs</code> producer. You need to specify the HTTP_PATH and Http method and let the the producer know to use the http centric client by using the URI option <strong>httpClientAPI</strong> or set the message header with CxfConstants.CAMEL_CXF_RS_USING_HTTP_API. You can turn the response object to the type class that you specify with CxfConstants.CAMEL_CXF_RS_RESPONSE_CLASS.</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[
 Exchange exchange = template.send(&quot;direct://http&quot;, new Processor() {
     public void process(Exchange exchange) throws Exception {
@@ -24074,14 +23941,11 @@ assertEquals(&quot;Get a wrong customer 
 assertEquals(&quot;Get a wrong response code&quot;, 200, exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
 assertEquals(&quot;Get a wrong header value&quot;, &quot;value&quot;, exchange.getOut().getHeader(&quot;key&quot;));
 ]]></script>
-</div></div>
-<p>From Camel 2.1, we also support to specify the query parameters from cxfrs URI for the CXFRS http centric client.<br clear="none">
-</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>From Camel 2.1, we also support to specify the query parameters from cxfrs URI for the CXFRS http centric client.</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[
 Exchange exchange = template.send(&quot;cxfrs://http://localhost:&quot; + getPort2() + &quot;/&quot; + getClass().getSimpleName() + &quot;/testQuery?httpClientAPI=true&amp;q1=12&amp;q2=13&quot;
 ]]></script>
-</div></div>To support the Dynamical routing, you can override the URI's query parameters by using the CxfConstants.CAMEL_CXF_RS_QUERY_MAP header to set the parameter map for it.
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>To support the Dynamical routing, you can override the URI's query parameters by using the CxfConstants.CAMEL_CXF_RS_QUERY_MAP header to set the parameter map for it.</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[
 Map&lt;String, String&gt; queryMap = new LinkedHashMap&lt;String, String&gt;();                    
 queryMap.put(&quot;q1&quot;, &quot;new&quot;);

Modified: websites/production/camel/content/book-pattern-appendix.html
==============================================================================
--- websites/production/camel/content/book-pattern-appendix.html (original)
+++ websites/production/camel/content/book-pattern-appendix.html Mon Jan  6 06:22:14 2014
@@ -1091,21 +1091,11 @@ from(&quot;activemq:queue:bar?disableRep
 <p>If you would like to use this EIP Pattern then please read the <a shape="rect" href="getting-started.html">Getting Started</a>, you may also find the <a shape="rect" href="architecture.html">Architecture</a> useful particularly the description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" href="examples.html">Examples</a> first before trying this pattern out.</p>
 
 <h2><a shape="rect" name="BookPatternAppendix-MessageRouting"></a>Message Routing</h2>
-<h3 id="BookPatternAppendix-ContentBasedRouter">Content Based Router</h3>
-
-<p>The <a shape="rect" class="external-link" href="http://www.enterpriseintegrationpatterns.com/ContentBasedRouter.html" rel="nofollow">Content Based Router</a> from the <a shape="rect" href="enterprise-integration-patterns.html">EIP patterns</a> allows you to route messages to the correct destination based on the contents of the message exchanges.</p>
-
-<p><img class="confluence-embedded-image confluence-external-resource" src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif" data-image-src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif"></p>
-
-<p>The following example shows how to route a request from an input <strong>seda:a</strong> endpoint to either <strong>seda:b</strong>, <strong>seda:c</strong> or <strong>seda:d</strong> depending on the evaluation of various <a shape="rect" href="predicate.html">Predicate</a> expressions</p>
-
-<p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent Builders</a></strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-RouteBuilder builder = new RouteBuilder() {
+<h3 id="BookPatternAppendix-ContentBasedRouter">Content Based Router</h3><p>The <a shape="rect" class="external-link" href="http://www.enterpriseintegrationpatterns.com/ContentBasedRouter.html" rel="nofollow">Content Based Router</a> from the <a shape="rect" href="enterprise-integration-patterns.html">EIP patterns</a> allows you to route messages to the correct destination based on the contents of the message exchanges.</p><p><img class="confluence-embedded-image confluence-external-resource" src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif" data-image-src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif"></p><p>The following example shows how to route a request from an input <strong>seda:a</strong> endpoint to either <strong>seda:b</strong>, <strong>seda:c</strong> or <strong>seda:d</strong> depending on the evaluation of various <a shape="rect" href="predicate.html">Predicate</a> expressions</p><p><strong>Using the <a shape="rect
 " href="fluent-builders.html">Fluent Builders</a></strong></p><p>&#160;</p><p><strong><br clear="none"></strong></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[RouteBuilder builder = new RouteBuilder() {
     public void configure() {
         errorHandler(deadLetterChannel(&quot;mock:error&quot;));
-
+ 
         from(&quot;direct:a&quot;)
             .choice()
                 .when(header(&quot;foo&quot;).isEqualTo(&quot;bar&quot;))
@@ -1115,23 +1105,15 @@ RouteBuilder builder = new RouteBuilder(
                 .otherwise()
                     .to(&quot;direct:d&quot;);
     }
-};
-]]></script>
-</div></div>
-
-    <div class="aui-message success shadowed information-macro">
+};]]></script>
+</div></div>    <div class="aui-message success shadowed information-macro">
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            
-<p>See <a shape="rect" href="why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html">Why can I not use when or otherwise in a Java Camel route</a> if you have problems with the Java DSL, accepting using <code>when</code> or <code>otherwise</code>.</p>
+                            <p>See <a shape="rect" href="why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html">Why can I not use when or otherwise in a Java Camel route</a> if you have problems with the Java DSL, accepting using <code>when</code> or <code>otherwise</code>.</p>
                     </div>
     </div>
-
-
-<p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring XML Extensions</a></strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;camelContext errorHandlerRef=&quot;errorHandler&quot; xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+<p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring XML Extensions</a></strong></p><div class="line number1 index0 alt2"><p>&#160;</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 errorHandlerRef=&quot;errorHandler&quot; xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
     &lt;route&gt;
         &lt;from uri=&quot;direct:a&quot;/&gt;
         &lt;choice&gt;
@@ -1148,12 +1130,8 @@ RouteBuilder builder = new RouteBuilder(
             &lt;/otherwise&gt;
         &lt;/choice&gt;
     &lt;/route&gt;
-&lt;/camelContext&gt;
-]]></script>
-</div></div>
-
-<p>For further examples of this pattern in use you could look at the <a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceTest.java?view=markup">junit test case</a></p>
-<h4 id="BookPatternAppendix-UsingThisPattern.14">Using This Pattern</h4>
+&lt;/camelContext&gt;]]></script>
+</div></div><p><span style="line-height: 1.4285715;">For further examples of this pattern in use you could look at the </span><a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceTest.java?view=markup" style="line-height: 1.4285715;">junit test case</a></p></div><p></p><h4 id="BookPatternAppendix-UsingThisPattern.14">Using This Pattern</h4>
 
 <p>If you would like to use this EIP Pattern then please read the <a shape="rect" href="getting-started.html">Getting Started</a>, you may also find the <a shape="rect" href="architecture.html">Architecture</a> useful particularly the description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" href="examples.html">Examples</a> first before trying this pattern out.</p>
 <h3 id="BookPatternAppendix-MessageFilter">Message Filter</h3>
@@ -6336,9 +6314,8 @@ from(&quot;direct:start&quot;).choice()
                             <p>If you <a shape="rect" href="wire-tap.html">Wire Tap</a> a stream message body then you should consider enabling <a shape="rect" href="stream-caching.html">Stream caching</a> to ensure the message body can be read at each endpoint. See more details at <a shape="rect" href="stream-caching.html">Stream caching</a>.</p>
                     </div>
     </div>
-<h3 id="BookPatternAppendix-Options.11">Options</h3><div class="confluenceTableSmall">
-<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 URI of the endpoint to which the wire-tapped message will be sent. You should 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> Reference identifier of the endpoint to which the wire-tapped message will be sent. You should use either <code>uri</code> or <code>ref</code>. </p></td></tr><tr><td colspan="1" rows
 pan="1" class="confluenceTd"><p> <code>executorServiceRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Reference identifier of a custom <a shape="rect" href="threading-model.html" title="Threading Model">Thread Pool</a> to use when processing the wire-tapped messages. If not set, Camel will use a default thread pool. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>processorRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Reference identifier of a custom <a shape="rect" href="processor.html" title="Processor">Processor</a> to use for creating a new message (e.g., the "send a new message" mode). See below. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>copy</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.3</strong>: Whether to copy the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> before wire-tapping the message. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>onPrepareRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.8:</strong> Reference identifier of a custom <a shape="rect" href="processor.html" title="Processor">Processor</a> to prepare the copy of the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> to be wire-tapped. This allows you to do any custom logic, such as deep-cloning the message payload. </p></td></tr></tbody></table>
-</div><h3 id="BookPatternAppendix-WireTapthreadpool">WireTap thread pool</h3><p>The <a shape="rect" href="wire-tap.html">Wire Tap</a> uses a thread pool to process the tapped messages. This thread pool will by default use the settings detailed at <a shape="rect" href="threading-model.html">Threading Model</a>. In particular, when the pool is exhausted (with all threads utilized), further wiretaps will be executed synchronously by the calling thread. To remedy this, you can configure an explicit thread pool on the <a shape="rect" href="wire-tap.html">Wire Tap</a> having either a different rejection policy, a larger worker queue, or more worker threads.</p><h3 id="BookPatternAppendix-WireTapnode">WireTap node</h3><p>Camel's Wire Tap node supports two flavors when tapping an <a shape="rect" href="exchange.html">Exchange</a>:</p><p>-With the traditional Wire Tap, Camel will copy the original <a shape="rect" href="exchange.html">Exchange</a> and set its <a shape="rect" href="exchange-pat
 tern.html">Exchange Pattern</a> to <strong>InOnly</strong>, as we want the tapped <a shape="rect" href="exchange.html">Exchange</a> to be sent in a <em>fire and forget</em> style. The tapped <a shape="rect" href="exchange.html">Exchange</a> is then sent in a separate thread so it can run in parallel with the original.</p><p>-Camel also provides an option of sending a new <a shape="rect" href="exchange.html">Exchange</a> allowing you to populate it with new values.</p><h4 id="BookPatternAppendix-Sendingacopy(traditionalwiretap)">Sending a copy (traditional wiretap)</h4><p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent Builders</a></strong></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookPatternAppendix-Options.11">Options</h3><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 URI of the endpoint to which the wire-tapped message will be sent. You should 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> Reference identifier of the endpoint to which the wire-tapped message will be sent. You should use either <code>uri</code> or <cod
 e>ref</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>executorServiceRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Reference identifier of a custom <a shape="rect" href="threading-model.html" title="Threading Model">Thread Pool</a> to use when processing the wire-tapped messages. If not set, Camel will use a default thread pool. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>processorRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Reference identifier of a custom <a shape="rect" href="processor.html" title="Processor">Processor</a> to use for creating a new message (e.g., the "send a new message" mode). See below. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>copy</code> </p></td><td colspan="1" rowspan=
 "1" class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.3</strong>: Whether to copy the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> before wire-tapping the message. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>onPrepareRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.8:</strong> Reference identifier of a custom <a shape="rect" href="processor.html" title="Processor">Processor</a> to prepare the copy of the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> to be wire-tapped. This allows you to do any custom logic, such as deep-cloning the message payload. </p></td></tr></tbody></table>
+<h3 id="BookPatternAppendix-WireTapthreadpool">WireTap thread pool</h3><p>The <a shape="rect" href="wire-tap.html">Wire Tap</a> uses a thread pool to process the tapped messages. This thread pool will by default use the settings detailed at <a shape="rect" href="threading-model.html">Threading Model</a>. In particular, when the pool is exhausted (with all threads utilized), further wiretaps will be executed synchronously by the calling thread. To remedy this, you can configure an explicit thread pool on the <a shape="rect" href="wire-tap.html">Wire Tap</a> having either a different rejection policy, a larger worker queue, or more worker threads.</p><h3 id="BookPatternAppendix-WireTapnode">WireTap node</h3><p>Camel's Wire Tap node supports two flavors when tapping an <a shape="rect" href="exchange.html">Exchange</a>:</p><p>-With the traditional Wire Tap, Camel will copy the original <a shape="rect" href="exchange.html">Exchange</a> and set its <a shape="rect" href="exchange-pattern.h
 tml">Exchange Pattern</a> to <strong>InOnly</strong>, as we want the tapped <a shape="rect" href="exchange.html">Exchange</a> to be sent in a <em>fire and forget</em> style. The tapped <a shape="rect" href="exchange.html">Exchange</a> is then sent in a separate thread so it can run in parallel with the original.</p><p>-Camel also provides an option of sending a new <a shape="rect" href="exchange.html">Exchange</a> allowing you to populate it with new values.</p><h4 id="BookPatternAppendix-Sendingacopy(traditionalwiretap)">Sending a copy (traditional wiretap)</h4><p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent Builders</a></strong></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:start&quot;)
     .to(&quot;log:foo&quot;)

Modified: websites/production/camel/content/book-tutorials.html
==============================================================================
--- websites/production/camel/content/book-tutorials.html (original)
+++ websites/production/camel/content/book-tutorials.html Mon Jan  6 06:22:14 2014
@@ -166,11 +166,11 @@ While not actual tutorials you might fin
 
 <p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service.  The route works in a synchronous fashion returning a response to the client.</p>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1387510547932 {padding: 0px;}
-div.rbtoc1387510547932 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1387510547932 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1388989251509 {padding: 0px;}
+div.rbtoc1388989251509 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1388989251509 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1387510547932">
+/*]]>*/</style><div class="toc-macro rbtoc1388989251509">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing the Server</a>
@@ -2511,11 +2511,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1387510548137 {padding: 0px;}
-div.rbtoc1387510548137 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1387510548137 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1388989251820 {padding: 0px;}
+div.rbtoc1388989251820 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1388989251820 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1387510548137">
+/*]]>*/</style><div class="toc-macro rbtoc1388989251820">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the Example</a></li></ul>

Modified: websites/production/camel/content/building.html
==============================================================================
--- websites/production/camel/content/building.html (original)
+++ websites/production/camel/content/building.html Mon Jan  6 06:22:14 2014
@@ -154,7 +154,7 @@
 </div></div><p>From Camel 2.11.0 onwards, Spring 3.1 is the default.</p><p><strong>Note:</strong> the <code>camel-test-spring</code> component requires to be built with Spring 3.1.</p><h3 id="Building-BuildingwithSpring3.2">Building with Spring 3.2</h3><p>From Camel 2.11.0 onwards, if you want Camel to be build against Spring 3.2 you have to build with the maven profile <code>spring3.2</code>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: text; gutter: false" type="syntaxhighlighter"><![CDATA[mvn clean install -Pspring3.2
 ]]></script>
-</div></div><p>From Camel 2.12.0 onwards, Spring 3.2 is the default.</p><p>&#160;</p><h3 id="Building-BuildingwithSpring4.0">Building with Spring 4.0</h3><p>From Camel 2.11.0 onwards, if you want Camel to be build against Spring 3.2 you have to build with the maven profile&#160;<code>spring3.2</code>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>From Camel 2.12.0 onwards, Spring 3.2 is the default.</p><p>&#160;</p><h3 id="Building-BuildingwithSpring4.0">Building with Spring 4.0</h3><p>From Camel 2.13.0 onwards, if you want Camel to be build against Spring 4.0 to work around the back compatible issue&#160;<a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7074" style="line-height: 1.4285715;">CAMEL-7074</a><span style="line-height: 1.4285715;">, you have to build with the maven profile&#160;</span><code style="line-height: 1.4285715;">spring4</code><span style="line-height: 1.4285715;">.</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: text; gutter: false" type="syntaxhighlighter"><![CDATA[mvn clean install -Pspring4
 ]]></script>
 </div></div><p>From Camel 2.12.0 onwards, Spring 3.2 is the default.</p><h3 id="Building-Workingwithfeatures">Working with features</h3><p>If you change anything in the features.xml from <code>platform/karaf</code> you can run a validation step to ensure the generated features.xml file is correct. You can do this running the following maven goal from the <code>platform</code> directory.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

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

Propchange: websites/production/camel/content/cache/main.pageCache
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: websites/production/camel/content/camel-30-ideas.html
==============================================================================
--- websites/production/camel/content/camel-30-ideas.html (original)
+++ websites/production/camel/content/camel-30-ideas.html Mon Jan  6 06:22:14 2014
@@ -109,11 +109,11 @@
 <div class="sectionMacroRow"><div class="columnMacro" style="width:20%;min-width:20%;max-width:20%;">
 <div class="panel" style="border-width: 1px;"><div class="panelContent">
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1387510514622 {padding: 0px;}
-div.rbtoc1387510514622 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1387510514622 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1388989228965 {padding: 0px;}
+div.rbtoc1388989228965 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1388989228965 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1387510514622">
+/*]]>*/</style><div class="toc-macro rbtoc1388989228965">
 <ul class="toc-indentation"><li><a shape="rect" href="#Camel3.0-Ideas-Camel3.0Ideas">Camel 3.0 Ideas</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Camel3.0-Ideas-Tableofcontents">Table of contents</a></li><li><a shape="rect" href="#Camel3.0-Ideas-JDKsupport">JDK support</a></li><li><a shape="rect" href="#Camel3.0-Ideas-JDK8JavaDSL">JDK8 Java DSL</a></li><li><a shape="rect" href="#Camel3.0-Ideas-RoutingCoreRe-engineering(raulk)">Routing Core Re-engineering (raulk)</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Camel3.0-Ideas-ConvertingsomeEIPsfrom&quot;performers&quot;tomere&quot;deciders&quot;">Converting some EIPs from "performers" to mere "deciders"</a></li></ul>

Modified: websites/production/camel/content/camel-jmx.html
==============================================================================
--- websites/production/camel/content/camel-jmx.html (original)
+++ websites/production/camel/content/camel-jmx.html Mon Jan  6 06:22:14 2014
@@ -94,11 +94,11 @@ Camel also provides a <a shape="rect" hr
 <h3 id="CamelJMX-ActivatingJMXinCamel">Activating JMX in Camel</h3>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1387510511065 {padding: 0px;}
-div.rbtoc1387510511065 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1387510511065 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1388989226780 {padding: 0px;}
+div.rbtoc1388989226780 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1388989226780 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1387510511065">
+/*]]>*/</style><div class="toc-macro rbtoc1388989226780">
 <ul class="toc-indentation"><li><a shape="rect" href="#CamelJMX-CamelJMX">Camel JMX</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CamelJMX-ActivatingJMXinCamel">Activating JMX in Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CamelJMX-UsingJMXtomanageApacheCamel">Using JMX to manage Apache Camel</a></li><li><a shape="rect" href="#CamelJMX-DisablingJMXinstrumentationagentinCamel">Disabling JMX instrumentation agent in Camel</a></li><li><a shape="rect" href="#CamelJMX-LocatingaMBeanServerintheJavaVM">Locating a MBeanServer in the Java VM</a></li><li><a shape="rect" href="#CamelJMX-CreatingJMXRMIConnectorServer">Creating JMX RMI Connector Server</a></li><li><a shape="rect" href="#CamelJMX-JMXServiceURL">JMX Service URL</a></li><li><a shape="rect" href="#CamelJMX-TheSystemPropertiesforCamelJMXsupport">The System Properties for Camel JMX support</a></li><li><a shape="rect" href="#CamelJMX-HowtouseauthenticationwithJMX">How to use authentication with JMX</a></li><li><a shape="rect" href="#CamelJMX-JMXinsideanApplicationServer">JMX inside an Application Server</a>