camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r1013803 [5/8] - in /websites/production/camel/content: ./ cache/
Date Sun, 11 Jun 2017 03:29:18 GMT
Modified: websites/production/camel/content/book-tutorials.html
==============================================================================
--- websites/production/camel/content/book-tutorials.html (original)
+++ websites/production/camel/content/book-tutorials.html Sun Jun 11 03:29:17 2017
@@ -146,11 +146,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookTutorials-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Thanks</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This tutorial was kindly donated to Apache Camel by Martin Gilday.</p></div></div><h2 id="BookTutorials-Preface">Preface</h2><p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service. The route works in a synchronous fashion returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1495707726420 {padding: 0px;}
-div.rbtoc1495707726420 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1495707726420 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1497151459027 {padding: 0px;}
+div.rbtoc1497151459027 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1497151459027 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1495707726420">
+/*]]>*/</style></p><div class="toc-macro rbtoc1497151459027">
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#BookTutorials-Preface">Preface</a></li><li><a shape="rect" href="#BookTutorials-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookTutorials-Distribution">Distribution</a></li><li><a shape="rect" href="#BookTutorials-About">About</a></li><li><a shape="rect" href="#BookTutorials-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookTutorials-WritingtheServer">Writing the Server</a>
@@ -426,14 +426,14 @@ public static void main(final String[] a
 DefaultInstrumentationAgent    INFO  JMX connector thread started on service:jmx:rmi:///jndi/rmi://claus-acer:1099/jmxrmi/camel
 ...
 ]]></script>
-</div></div><p>In the screenshot below we can see the route and its performance metrics:<br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="book-tutorials.data/jconsole_jms_tutorial.PNG" data-image-src="/confluence/download/attachments/82923/jconsole_jms_tutorial.PNG?version=1&amp;modificationDate=1214345078000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="59672517" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="jconsole_jms_tutorial.PNG" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="82923" data-linked-resource-container-version="40"></span></p><h2 id="BookTutorials-SeeAlso">See Also</h2><ul><li><a shape="rect" class="external-link" href="http://aminsblog.wordpress.com/2008/05/06/15/" rel="nofollow">Spring Remoting with JMS Example</a> on <a shape="rect" cl
 ass="external-link" href="http://aminsblog.wordpress.com/" rel="nofollow">Amin Abbaspour's Weblog</a></li></ul>
+</div></div><p>In the screenshot below we can see the route and its performance metrics:<br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="book-tutorials.data/jconsole_jms_tutorial.PNG" data-image-src="/confluence/download/attachments/82923/jconsole_jms_tutorial.PNG?version=1&amp;modificationDate=1214345078000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="59672517" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="jconsole_jms_tutorial.PNG" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="82923" data-linked-resource-container-version="41"></span></p><h2 id="BookTutorials-SeeAlso">See Also</h2><ul><li><a shape="rect" class="external-link" href="http://aminsblog.wordpress.com/2008/05/06/15/" rel="nofollow">Spring Remoting with JMS Example</a> on <a shape="rect" cl
 ass="external-link" href="http://aminsblog.wordpress.com/" rel="nofollow">Amin Abbaspour's Weblog</a></li></ul>
 
 <h2 id="BookTutorials-Tutorial-camel-example-reportincident">Tutorial - camel-example-reportincident</h2>
 
 
 <h2 id="BookTutorials-Introduction">Introduction</h2>
 
-<p>Creating this tutorial was inspired by a real life use-case I discussed over the phone with a colleague. He was working at a client whom uses a heavy-weight integration platform from a very large vendor. He was in talks with developer shops to implement a new integration on this platform. His trouble was the shop tripled the price when they realized the platform of choice. So I was wondering how we could do this integration with Camel. Can it be done, without tripling the cost <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)">.</p>
+<p>Creating this tutorial was inspired by a real life use-case I discussed over the phone with a colleague. He was working at a client whom uses a heavy-weight integration platform from a very large vendor. He was in talks with developer shops to implement a new integration on this platform. His trouble was the shop tripled the price when they realized the platform of choice. So I was wondering how we could do this integration with Camel. Can it be done, without tripling the cost <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)">.</p>
 
 <p>This tutorial is written during the development of the integration. I have decided to start off with a sample that isn't Camel's but standard Java and then plugin Camel as we goes. Just as when people needed to learn Spring you could consume it piece by piece, the same goes with Camel.</p>
 
@@ -1108,7 +1108,7 @@ INFO: Exchange[BodyType:String, Body:Cla
 </div></div>
 
 <h2 id="BookTutorials-Writetofile-easywiththesamecodestyle">Write to file - easy with the same code style</h2>
-<p>Okay that isn't to impressive, Camel can log <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)"> Well I promised that the above code style can be used for <strong>any</strong> component, so let's store the payload in a file. We do this by adding the file component to the Camel context</p>
+<p>Okay that isn't to impressive, Camel can log <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)"> Well I promised that the above code style can be used for <strong>any</strong> component, so let's store the payload in a file. We do this by adding the file component to the Camel context</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
         // add the file component
@@ -1760,7 +1760,7 @@ public class ReportIncidentConsumerTest
 <blockquote>
 <p>you must unlearn what you have learned<br clear="none">
 <em>Master Yoda, Star Wars IV</em></p></blockquote>
-<p>So we start all over again! <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)"></p></div></div>
+<p>So we start all over again! <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)"></p></div></div>
 
 <h2 id="BookTutorials-Routing">Routing</h2>
 <p>Camel is particular strong as a light-weight and agile <strong>routing</strong> and <strong>mediation</strong> framework. In this part we will introduce the <strong>routing</strong> concept and how we can introduce this into our solution.<br clear="none">
@@ -2265,11 +2265,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. Apache Axis 1.4 is a very old and unsupported framework. We encourage users to use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1495707726580 {padding: 0px;}
-div.rbtoc1495707726580 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1495707726580 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1497151459250 {padding: 0px;}
+div.rbtoc1497151459250 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1497151459250 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1495707726580">
+/*]]>*/</style><div class="toc-macro rbtoc1497151459250">
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookTutorials-Distribution">Distribution</a></li><li><a shape="rect" href="#BookTutorials-Introduction">Introduction</a></li><li><a shape="rect" href="#BookTutorials-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-Maven2">Maven 2</a></li><li><a shape="rect" href="#BookTutorials-wsdl">wsdl</a></li><li><a shape="rect" href="#BookTutorials-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#BookTutorials-RunningtheExample">Running the Example</a></li></ul>

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

Modified: websites/production/camel/content/camel-jmx.html
==============================================================================
--- websites/production/camel/content/camel-jmx.html (original)
+++ websites/production/camel/content/camel-jmx.html Sun Jun 11 03:29:17 2017
@@ -207,7 +207,7 @@ java.lang.SecurityException: Unauthorize
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[SUNJMX=-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1616 \
 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
 ]]></script>
-</div></div><p>(The&#160;<strong><code>SUNJMX</code></strong> environment variable is simple used by the startup script for Camel, as additional startup parameters for the JVM. If you start Camel directly, you'll have to pass these parameters yourself.)</p><h4 id="CamelJMX-jmxAgentPropertiesReference">jmxAgent Properties Reference</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Spring property</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>System property</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>id</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The JMX agent name, and i
 t is not optional.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>usePlatformMBeanServer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.usePlatformMBeanServer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code>, <code>true</code> - Release 1.5 or later</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code>, it will use the <strong><code>MBeanServer</code></strong> from the JVM.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mbeanServerDefaultDomain</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.mbeanServerDefaultDomain</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The default JMX domain of the <strong><code>MBeanServer</code></strong>.</p></td></tr><tr><td colspan="1"
  rowspan="1" class="confluenceTd"><p><code>mbeanObjectDomainName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.mbeanObjectDomainName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The JMX domain that all object names will use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>createConnector</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.createRmiConnect</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If we should create a JMX connector (to allow remote management) for the <strong><code>MBeanServer</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>registryPort</code></p></td><td colspan="1" rowspan="1" class="confluence
 Td"><p><code>org.apache.camel.jmx.rmiConnector.registryPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1099</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The port that the JMX RMI registry will use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>connectorPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.rmiConnector.connectorPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>-1 (dynamic)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The port that the JMX RMI server will use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serviceUrlPath</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.serviceUrlPath</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>/jmxrmi/camel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>T
 he path that JMX connector will be registered under.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>onlyRegisterProcessorWithCustomId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.onlyRegisterProcessorWithCustomId</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.0:</strong> If this option is enabled then only processors with a custom id set will be registered. This allows you to filer out unwanted processors in the JMX console.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>statisticsLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>All / Default</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.1:</strong> Configures the level for whether per
 formance statistics is enabled for the MBean. See section <em>Configuring level of granularity for performance statistics</em> for more details. </p><p><strong>From Camel 2.16</strong>: the&#160;<strong><code>All</code></strong> option is renamed to <strong><code>Default</code></strong>, and a new&#160;<strong><code>Extended</code></strong> option has been introduced which allows gathered additional run time JMX metrics.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>includeHostName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.includeHostName</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.13:</strong> Whether to include the hostname in the MBean naming. <strong>From Camel 2.13</strong>: the default is <strong><code>false</code></strong>. Previously the default was <strong><code>true</code></strong>.</p><p>
 You can use this option to restore old behavior if really needed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useHostIPAddress</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.useHostIPAddress</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.16:</strong> Whether to use hostname or IP Address in the service url when creating the remote connector. By default the hostname will be used.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>loadStatisticsEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.loadStatisticsEnabled</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.16:</strong>Whether load statistics is enabled 
 (gathers load statistics using a background thread per CamelContext).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endpointRuntimeStatisticsEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.endpointRuntimeStatisticsEnabled</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.16:</strong> Whether endpoint runtime statistics is enabled (gathers runtime usage of each incoming and outgoing endpoints).</p></td></tr></tbody></table></div><h4 id="CamelJMX-ConfiguringWhethertoRegisterMBeansalways,ForNewRoutesorJustbyDefault">Configuring Whether to Register MBeans always, For New Routes or Just by Default</h4><p><strong>Available as of Camel 2.7</strong></p><p>Camel now offers 2 settings to control whether or not to register mbeans</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th c
 olspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>registerAlways</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled then MBeans is always registered.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>registerNewRoutes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled then adding new routes after <a shape="rect" href="camelcontext.html">CamelContext</a> has been started will also register MBeans from that given route.</p></td></tr></tbody></table></div><p>By default Camel registers MBeans for all the routes configured when its starting.
  The <strong><code>registerNewRoutes</code></strong> option control if MBeans should also be registered if you add new routes thereafter. You can disable this, if you for example add and remove temporary routes where management is not needed.</p><p>Be a bit caution to use the <strong><code>registerAlways</code></strong> option when using dynamic <a shape="rect" href="eip.html">EIP</a> patterns such as the <a shape="rect" href="recipient-list.html">Recipient List</a> having unique endpoints. If so then each unique endpoint and its associated services/producers would also be registered. This could potential lead to degradation in system performance due the rising number of mbeans in the registry. A MBean is not a light-weight object and thus consumes memory.</p><h3 id="CamelJMX-MonitoringCamelusingJMX">Monitoring Camel using JMX</h3><h4 id="CamelJMX-UsingJConsoletomonitorCamel">Using JConsole to monitor Camel</h4><p>The <strong><code>CamelContext</code></strong> should appear in the l
 ist of local connections, if you are running JConsole on the same host as Camel.&#160; To connect to a remote Camel instance, or if the local process does not show up, use Remote Process option, and enter an URL.</p><p>Here is an example localhost URL:&#160;<strong><code>service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel</code></strong></p><p>Using the Apache Camel with JConsole</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-content-image-border" src="camel-jmx.data/camel-jmx.png" data-image-src="/confluence/download/attachments/85697/camel-jmx.png?version=1&amp;modificationDate=1224680681000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9224" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="camel-jmx.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="85
 697" data-linked-resource-container-version="83"></span></p><h4 id="CamelJMX-Whichendpointsareregistered">Which endpoints are registered</h4><p>In <strong>Camel 2.1</strong> onward <strong>only</strong> <code>singleton</code> endpoints are registered as the overhead for non singleton will be substantial in cases where thousands or millions of endpoints are used. This can happens when using a <a shape="rect" href="recipient-list.html">Recipient List</a> EIP or from a <strong><code>ProducerTemplate</code></strong> that sends a lot of messages.</p><h4 id="CamelJMX-Whichprocessorsareregistered">Which processors are registered</h4><p>See <a shape="rect" href="why-is-my-processor-not-showing-up-in-jconsole.html">this FAQ</a>.</p><h4 id="CamelJMX-HowtousetheJMXNotificationListenertolistenthecamelevents?">How to use the JMX NotificationListener to listen the camel events?</h4><p>The Camel notification events give a coarse grained overview what is happening. You can see lifecycle event from 
 context and endpoints and you can see exchanges being received by and sent to endpoints. From <strong>Camel 2.4</strong> you can use a custom JMX NotificationListener to listen the camel events.</p><p>First you need to set up a&#160;<strong><code>JmxNotificationEventNotifier</code></strong> before you start the CamelContext.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>(The&#160;<strong><code>SUNJMX</code></strong> environment variable is simple used by the startup script for Camel, as additional startup parameters for the JVM. If you start Camel directly, you'll have to pass these parameters yourself.)</p><h4 id="CamelJMX-jmxAgentPropertiesReference">jmxAgent Properties Reference</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Spring property</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>System property</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>id</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The JMX agent name, and i
 t is not optional.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>usePlatformMBeanServer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.usePlatformMBeanServer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code>, <code>true</code> - Release 1.5 or later</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code>, it will use the <strong><code>MBeanServer</code></strong> from the JVM.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mbeanServerDefaultDomain</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.mbeanServerDefaultDomain</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The default JMX domain of the <strong><code>MBeanServer</code></strong>.</p></td></tr><tr><td colspan="1"
  rowspan="1" class="confluenceTd"><p><code>mbeanObjectDomainName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.mbeanObjectDomainName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The JMX domain that all object names will use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>createConnector</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.createRmiConnect</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If we should create a JMX connector (to allow remote management) for the <strong><code>MBeanServer</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>registryPort</code></p></td><td colspan="1" rowspan="1" class="confluence
 Td"><p><code>org.apache.camel.jmx.rmiConnector.registryPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1099</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The port that the JMX RMI registry will use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>connectorPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.rmiConnector.connectorPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>-1 (dynamic)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The port that the JMX RMI server will use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serviceUrlPath</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.serviceUrlPath</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>/jmxrmi/camel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>T
 he path that JMX connector will be registered under.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>onlyRegisterProcessorWithCustomId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.onlyRegisterProcessorWithCustomId</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.0:</strong> If this option is enabled then only processors with a custom id set will be registered. This allows you to filer out unwanted processors in the JMX console.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>statisticsLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>All / Default</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.1:</strong> Configures the level for whether per
 formance statistics is enabled for the MBean. See section <em>Configuring level of granularity for performance statistics</em> for more details. </p><p><strong>From Camel 2.16</strong>: the&#160;<strong><code>All</code></strong> option is renamed to <strong><code>Default</code></strong>, and a new&#160;<strong><code>Extended</code></strong> option has been introduced which allows gathered additional run time JMX metrics.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>includeHostName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.includeHostName</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.13:</strong> Whether to include the hostname in the MBean naming. <strong>From Camel 2.13</strong>: the default is <strong><code>false</code></strong>. Previously the default was <strong><code>true</code></strong>.</p><p>
 You can use this option to restore old behavior if really needed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useHostIPAddress</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.useHostIPAddress</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.16:</strong> Whether to use hostname or IP Address in the service url when creating the remote connector. By default the hostname will be used.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>loadStatisticsEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.loadStatisticsEnabled</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.16:</strong>Whether load statistics is enabled 
 (gathers load statistics using a background thread per CamelContext).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endpointRuntimeStatisticsEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.jmx.endpointRuntimeStatisticsEnabled</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.16:</strong> Whether endpoint runtime statistics is enabled (gathers runtime usage of each incoming and outgoing endpoints).</p></td></tr></tbody></table></div><h4 id="CamelJMX-ConfiguringWhethertoRegisterMBeansalways,ForNewRoutesorJustbyDefault">Configuring Whether to Register MBeans always, For New Routes or Just by Default</h4><p><strong>Available as of Camel 2.7</strong></p><p>Camel now offers 2 settings to control whether or not to register mbeans</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th c
 olspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>registerAlways</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled then MBeans is always registered.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>registerNewRoutes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled then adding new routes after <a shape="rect" href="camelcontext.html">CamelContext</a> has been started will also register MBeans from that given route.</p></td></tr></tbody></table></div><p>By default Camel registers MBeans for all the routes configured when its starting.
  The <strong><code>registerNewRoutes</code></strong> option control if MBeans should also be registered if you add new routes thereafter. You can disable this, if you for example add and remove temporary routes where management is not needed.</p><p>Be a bit caution to use the <strong><code>registerAlways</code></strong> option when using dynamic <a shape="rect" href="eip.html">EIP</a> patterns such as the <a shape="rect" href="recipient-list.html">Recipient List</a> having unique endpoints. If so then each unique endpoint and its associated services/producers would also be registered. This could potential lead to degradation in system performance due the rising number of mbeans in the registry. A MBean is not a light-weight object and thus consumes memory.</p><h3 id="CamelJMX-MonitoringCamelusingJMX">Monitoring Camel using JMX</h3><h4 id="CamelJMX-UsingJConsoletomonitorCamel">Using JConsole to monitor Camel</h4><p>The <strong><code>CamelContext</code></strong> should appear in the l
 ist of local connections, if you are running JConsole on the same host as Camel.&#160; To connect to a remote Camel instance, or if the local process does not show up, use Remote Process option, and enter an URL.</p><p>Here is an example localhost URL:&#160;<strong><code>service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel</code></strong></p><p>Using the Apache Camel with JConsole</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-content-image-border" src="camel-jmx.data/camel-jmx.png" data-image-src="/confluence/download/attachments/85697/camel-jmx.png?version=1&amp;modificationDate=1224680681000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9224" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="camel-jmx.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="85
 697" data-linked-resource-container-version="84"></span></p><h4 id="CamelJMX-Whichendpointsareregistered">Which endpoints are registered</h4><p>In <strong>Camel 2.1</strong> onward <strong>only</strong> <code>singleton</code> endpoints are registered as the overhead for non singleton will be substantial in cases where thousands or millions of endpoints are used. This can happens when using a <a shape="rect" href="recipient-list.html">Recipient List</a> EIP or from a <strong><code>ProducerTemplate</code></strong> that sends a lot of messages.</p><h4 id="CamelJMX-Whichprocessorsareregistered">Which processors are registered</h4><p>See <a shape="rect" href="why-is-my-processor-not-showing-up-in-jconsole.html">this FAQ</a>.</p><h4 id="CamelJMX-HowtousetheJMXNotificationListenertolistenthecamelevents?">How to use the JMX NotificationListener to listen the camel events?</h4><p>The Camel notification events give a coarse grained overview what is happening. You can see lifecycle event from 
 context and endpoints and you can see exchanges being received by and sent to endpoints. From <strong>Camel 2.4</strong> you can use a custom JMX NotificationListener to listen the camel events.</p><p>First you need to set up a&#160;<strong><code>JmxNotificationEventNotifier</code></strong> before you start the CamelContext.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 // Set up the JmxNotificationEventNotifier
 notifier = new JmxNotificationEventNotifier();
@@ -236,7 +236,7 @@ context.getManagementStrategy().getManag
     }, null);
 
 ]]></script>
-</div></div><h4 id="CamelJMX-UsingtheTracerMBeantogetfinegrainedtracing">Using the Tracer MBean to get fine grained tracing</h4><p>Additionally to the coarse grained notifications above <strong>Camel 2.9.0</strong> support JMX Notification for fine grained trace events. These can be found in the Tracer MBean. To activate fine grained tracing you first need to activate tracing on the context or on a route. This can either be done when configuring the context or on the context / route MBeans.</p><p>As a second step you have to set the <strong><code>jmxTraceNotifications</code></strong> attribute to <code>true</code> on the tracer. This can again be done when configuring the context or at run time on the tracer MBean.</p><p>Now you can register for&#160;<code>TraceEvent</code> Notifications on the Tracer MBean using JConsole. There will be one Notification for every step on the route with all exchange and message details.</p><p><span class="confluence-embedded-file-wrapper"><img class=
 "confluence-embedded-image confluence-content-image-border" src="camel-jmx.data/jconsole_trace_notifications.png" data-image-src="/confluence/download/attachments/85697/jconsole_trace_notifications.png?version=1&amp;modificationDate=1317961747000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="28016788" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="jconsole_trace_notifications.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="85697" data-linked-resource-container-version="83"></span></p><h3 id="CamelJMX-UsingJMXforyourownCamelCode">Using JMX for your own Camel Code</h3><h4 id="CamelJMX-RegisteringyourownManagedEndpoints">Registering your own Managed Endpoints</h4><p><strong>Available as of Camel 2.0</strong><br clear="none"> You can decorate your own endpoints with Spring managed annotations <strong><code>@Manage
 dResource</code></strong> to allow to register them in the Camel <strong><code>MBeanServer</code></strong> and thus access your custom MBeans using JMX.<br clear="none"> <strong>Notice:</strong> in <strong>Camel 2.1</strong> we have changed this to apply other than just endpoints but then you need to implement the interface <strong><code>org.apache.camel.spi.ManagementAware</code></strong> as well. More about this later.</p><p>For example we have the following custom endpoint where we define some options to be managed:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="CamelJMX-UsingtheTracerMBeantogetfinegrainedtracing">Using the Tracer MBean to get fine grained tracing</h4><p>Additionally to the coarse grained notifications above <strong>Camel 2.9.0</strong> support JMX Notification for fine grained trace events. These can be found in the Tracer MBean. To activate fine grained tracing you first need to activate tracing on the context or on a route. This can either be done when configuring the context or on the context / route MBeans.</p><p>As a second step you have to set the <strong><code>jmxTraceNotifications</code></strong> attribute to <code>true</code> on the tracer. This can again be done when configuring the context or at run time on the tracer MBean.</p><p>Now you can register for&#160;<code>TraceEvent</code> Notifications on the Tracer MBean using JConsole. There will be one Notification for every step on the route with all exchange and message details.</p><p><span class="confluence-embedded-file-wrapper"><img class=
 "confluence-embedded-image confluence-content-image-border" src="camel-jmx.data/jconsole_trace_notifications.png" data-image-src="/confluence/download/attachments/85697/jconsole_trace_notifications.png?version=1&amp;modificationDate=1317961747000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="28016788" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="jconsole_trace_notifications.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="85697" data-linked-resource-container-version="84"></span></p><h3 id="CamelJMX-UsingJMXforyourownCamelCode">Using JMX for your own Camel Code</h3><h4 id="CamelJMX-RegisteringyourownManagedEndpoints">Registering your own Managed Endpoints</h4><p><strong>Available as of Camel 2.0</strong><br clear="none"> You can decorate your own endpoints with Spring managed annotations <strong><code>@Manage
 dResource</code></strong> to allow to register them in the Camel <strong><code>MBeanServer</code></strong> and thus access your custom MBeans using JMX.<br clear="none"> <strong>Notice:</strong> in <strong>Camel 2.1</strong> we have changed this to apply other than just endpoints but then you need to implement the interface <strong><code>org.apache.camel.spi.ManagementAware</code></strong> as well. More about this later.</p><p>For example we have the following custom endpoint where we define some options to be managed:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 @ManagedResource(description = &quot;Our custom managed endpoint&quot;)
 public class CustomEndpoint extends MockEndpoint implements ManagementAware&lt;CustomEndpoint&gt; {

Modified: websites/production/camel/content/configuring-camel.html
==============================================================================
--- websites/production/camel/content/configuring-camel.html (original)
+++ websites/production/camel/content/configuring-camel.html Sun Jun 11 03:29:17 2017
@@ -112,7 +112,7 @@ context.addComponent(&quot;foo&quot;, ne
   &lt;/property&gt;
 &lt;/bean&gt;
 ]]></script>
-</div></div>Which allows you to configure a component using some name (activemq in the above example), then you can refer to the component using <strong><code>activemq:[queue:|topic:]destinationName</code></strong>.<p>If you want to add explicit Spring 2.x XML objects to your XML then you could use the&#160;<strong><code>xbean-spring</code></strong> which tries to automate most of the XML binding work for you; or you could look in camel-spring at&#160;<strong><code>CamelNamespaceHandler</code></strong> you'll see how we handle the Spring XML stuff (warning its kinda hairy code to look at <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)">. If you wanted&#160;<strong><code>&lt;fooComponent&gt;</code></strong> to be a standard part of the core Camel schema then you'd hack that file to add your component &amp; <a shape="rect" hr
 ef="contributing.html">conftribute a patch</a> to the camel XSD. Otherwise you could write your own namespace &amp; schema if you prefer.</p><h3 id="ConfiguringCamel-SeeAlso">See Also</h3><ul><li><a shape="rect" href="writing-components.html">Writing Components</a></li><li><a shape="rect" href="how-do-i-configure-endpoints.html">How Do I Configure Endpoints?</a></li></ul></div>
+</div></div>Which allows you to configure a component using some name (activemq in the above example), then you can refer to the component using <strong><code>activemq:[queue:|topic:]destinationName</code></strong>.<p>If you want to add explicit Spring 2.x XML objects to your XML then you could use the&#160;<strong><code>xbean-spring</code></strong> which tries to automate most of the XML binding work for you; or you could look in camel-spring at&#160;<strong><code>CamelNamespaceHandler</code></strong> you'll see how we handle the Spring XML stuff (warning its kinda hairy code to look at <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)">. If you wanted&#160;<strong><code>&lt;fooComponent&gt;</code></strong> to be a standard part of the core Camel schema then you'd hack that file to add your component &amp; <a shape="rect" hr
 ef="contributing.html">conftribute a patch</a> to the camel XSD. Otherwise you could write your own namespace &amp; schema if you prefer.</p><h3 id="ConfiguringCamel-SeeAlso">See Also</h3><ul><li><a shape="rect" href="writing-components.html">Writing Components</a></li><li><a shape="rect" href="how-do-i-configure-endpoints.html">How Do I Configure Endpoints?</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/console-example.html
==============================================================================
--- websites/production/camel/content/console-example.html (original)
+++ websites/production/camel/content/console-example.html Sun Jun 11 03:29:17 2017
@@ -141,7 +141,7 @@ Enter something:
 <p>Next, navigate to the <code>org.apache.camel.example.console.CamelConsoleMain</code> class, right-click, and select Run As &#8594; Java Application.</p>
 <div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
 <p>Click on the screenshot below, to make it bigger.</p></div></div>
-<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-thumbnail" src="console-example.thumbs/run-as.png" data-image-src="/confluence/download/attachments/27843710/run-as.png?version=1&amp;modificationDate=1334026057000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="28017569" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="run-as.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="27843710" data-linked-resource-container-version="18"></span></p>
+<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-thumbnail" src="console-example.thumbs/run-as.png" data-image-src="/confluence/download/attachments/27843710/run-as.png?version=1&amp;modificationDate=1334026057000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="28017569" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="run-as.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="27843710" data-linked-resource-container-version="19"></span></p>
 
 
 <h3 id="ConsoleExample-Seealso">See also</h3>

Modified: websites/production/camel/content/cxfrs.html
==============================================================================
--- websites/production/camel/content/cxfrs.html (original)
+++ websites/production/camel/content/cxfrs.html Sun Jun 11 03:29:17 2017
@@ -102,7 +102,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="brush: java; gutter: false; theme: Default" 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><code>synchronous</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This option will let you 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><p>This option is available as of <strong>2.5</strong> for CxfRsConsumer and as of <strong>2.19</strong> for CxfRsProducer.</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><code>throwExceptionOnFailure</code></p></td><td colspan="1" rowspan="1" class="conflu
 enceTd"><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.</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" class="confluenceTd"><p><code>setDefaultBus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.9.0. <strong>deprecated</strong> use defaultBus option from Camel 2.16 onwards. 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><em>false</em></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>defaultBus</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Will set the default bus when CXF endpoint create a bus by itself</span></td><td colspan="1" rowspan="1" class="confluenceTd"><code>defaultBus=true</code></td><td colspan="1" rowspan="1" class="
 confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></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 th
 e <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"><p><code><span>binding</span></code></p></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 a
 nd 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><code><span style="line-height: 1.4285715;">providers</span></code></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><code><span style="line-height: 1.4285715;">schemaLocations</span></code></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><code><span style="line-height: 1.4285715;">features</span></code></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><code>properties</code></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><code>inInterceptors</code></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><code>outInterceptors</code></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><code><span style="line-height: 1.4285715;">outInterceptors=#MyInterceptors</span></code></p></td><td colspan="1" rowspan="1" class="conf
 luenceTd"><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><code><span>inFaultInterceptors</span></code></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><code>outFaultIntercetpros</code></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><code>continuationTimeout</code></p></td><td colspan="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 CxfC
 onsumer 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><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>ignoreDeleteMethodMessageBody</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.14.1</strong> This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API.</td><td colspan="1" rowspan="1" class="confluenceTd
 "><code><span>ignoreDeleteMethodMessageBody=true</span></code></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>modelRef</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.14.2</strong> This option is used to specify the <a shape="rect" href="http://cxf.apache.org/docs/jax-rs-advanced-features.html#JAX-RSAdvancedFeatures-RESTfulserviceswithoutannotations">model file</a> which is useful for the resource class without annotation.</p><p><strong>Since Camel 2.15</strong> This option can point to a model file without specifying a service class for emulating document-only endpoints</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>modelRef=</code><a shape="rect" class="external-link" href="http://classpath/org/apache/camel/component/cxf/jaxrs/CustomerServiceModel.xml" style="font-family: mono
 space;line-height: 1.4285715;" rel="nofollow">classpath:/CustomerServiceModel.xml</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p class="p1"><code>performInvocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.15</strong> When the option is true, camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing.</td><td colspan="1" rowspan="1" class="confluenceTd"><p class="p1"><code>performInvocation= true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>propagateContexts</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.15</strong> When the optio
 n is true, JAXRS <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/UriInfo.html" rel="nofollow">UriInfo</a>, <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/HttpHeaders.html" rel="nofollow">HttpHeaders</a>, <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/Request.html" rel="nofollow">Request</a> and <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/SecurityContext.html" rel="nofollow">SecurityContext</a> contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be used to analyze the current requests using JAX-RS API.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conf
 luenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>loggingFeatureEnabled</code></td><td colspan="1" rowspan="1" class="confluenceTd">This option enables CXF Logging Feature which writes inbound and outbound REST messages to log.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>skipFaultLogging</code></td><td colspan="1" rowspan="1" class="confluenceTd">This option controls whether the <code>PhaseInterceptorChain</code> skips logging the Fault that it catches.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>loggingSizeLimit</code></td><td colspan="1" 
 rowspan="1" class="confluenceTd">To limit the total size of number of bytes the logger will output when logging feature has been enabled.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><code>0</code></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>cookieHandler</code></td><td colspan="1" rowspan="1" class="confluenceTd">Since <strong>Camel 2.19.0</strong> Configure a cookie handler to maintain a HTTP session</td><td colspan="1" rowspan="1" class="confluenceTd"><code>cookieHandler=#exchangeCookieHandler</code></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></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 pd
 l">
+</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><code>synchronous</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This option will let you 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><p>This option is available as of <strong>2.5</strong> for CxfRsConsumer and as of <strong>2.19</strong> for CxfRsProducer.</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><code>throwExceptionOnFailure</code></p></td><td colspan="1" rowspan="1" class="conflu
 enceTd"><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.</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" class="confluenceTd"><p><code>setDefaultBus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.9.0. <strong>deprecated</strong> use defaultBus option from Camel 2.16 onwards. 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><em>false</em></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>defaultBus</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Will set the default bus when CXF endpoint create a bus by itself</span></td><td colspan="1" rowspan="1" class="confluenceTd"><code>defaultBus=true</code></td><td colspan="1" rowspan="1" class="
 confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></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 th
 e <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"><p><code><span>binding</span></code></p></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 a
 nd 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><code><span style="line-height: 1.4285715;">providers</span></code></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><code><span style="line-height: 1.4285715;">schemaLocations</span></code></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><code><span style="line-height: 1.4285715;">features</span></code></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><code>properties</code></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><code>inInterceptors</code></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><code>outInterceptors</code></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><code><span style="line-height: 1.4285715;">outInterceptors=#MyInterceptors</span></code></p></td><td colspan="1" rowspan="1" class="conf
 luenceTd"><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><code><span>inFaultInterceptors</span></code></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><code>outFaultIntercetpros</code></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><code>continuationTimeout</code></p></td><td colspan="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 CxfC
 onsumer 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><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>ignoreDeleteMethodMessageBody</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.14.1</strong> This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API.</td><td colspan="1" rowspan="1" class="confluenceTd
 "><code><span>ignoreDeleteMethodMessageBody=true</span></code></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>modelRef</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.14.2</strong> This option is used to specify the <a shape="rect" href="http://cxf.apache.org/docs/jax-rs-advanced-features.html#JAX-RSAdvancedFeatures-RESTfulserviceswithoutannotations">model file</a> which is useful for the resource class without annotation.</p><p><strong>Since Camel 2.15</strong> This option can point to a model file without specifying a service class for emulating document-only endpoints</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>modelRef=</code><a shape="rect" class="external-link" href="http://classpath/org/apache/camel/component/cxf/jaxrs/CustomerServiceModel.xml" rel="nofollow" style="fo
 nt-family: monospace;line-height: 1.4285715;">classpath:/CustomerServiceModel.xml</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p class="p1"><code>performInvocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.15</strong> When the option is true, camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing.</td><td colspan="1" rowspan="1" class="confluenceTd"><p class="p1"><code>performInvocation= true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>propagateContexts</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.15</strong> When the optio
 n is true, JAXRS <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/UriInfo.html" rel="nofollow">UriInfo</a>, <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/HttpHeaders.html" rel="nofollow">HttpHeaders</a>, <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/Request.html" rel="nofollow">Request</a> and <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/SecurityContext.html" rel="nofollow">SecurityContext</a> contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be used to analyze the current requests using JAX-RS API.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conf
 luenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>loggingFeatureEnabled</code></td><td colspan="1" rowspan="1" class="confluenceTd">This option enables CXF Logging Feature which writes inbound and outbound REST messages to log.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>skipFaultLogging</code></td><td colspan="1" rowspan="1" class="confluenceTd">This option controls whether the <code>PhaseInterceptorChain</code> skips logging the Fault that it catches.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>loggingSizeLimit</code></td><td colspan="1" 
 rowspan="1" class="confluenceTd">To limit the total size of number of bytes the logger will output when logging feature has been enabled.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><code>0</code></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>cookieHandler</code></td><td colspan="1" rowspan="1" class="confluenceTd">Since <strong>Camel 2.19.0</strong> Configure a cookie handler to maintain a HTTP session</td><td colspan="1" rowspan="1" class="confluenceTd"><code>cookieHandler=#exchangeCookieHandler</code></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></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 pd
 l">
 <script class="brush: xml; gutter: false; theme: Default" 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;



Mime
View raw message