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 2017/06/11 03:29:18 UTC

svn commit: r1013803 [7/8] - in /websites/production/camel/content: ./ cache/

Modified: websites/production/camel/content/netty.html
==============================================================================
--- websites/production/camel/content/netty.html (original)
+++ websites/production/camel/content/netty.html Sun Jun 11 03:29:17 2017
@@ -86,7 +86,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Netty-NettyComponent">Netty Component</h2><p><strong>Available as of Camel 2.3</strong></p><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This component is deprecated. You should use <a shape="rect" href="netty4.html">Netty4</a>.</p></div></div><p>The <strong style="line-height: 1.42857;">netty</strong> component in Camel is a socket communication component, based on the <a shape="rect" class="external-link" href="http://netty.io/" style="line-height: 1.42857;" rel="nofollow">Netty</a> project.</p><p>Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients.<br clear="none"> Netty greatly simplifies and streamlines network programming such as TCP and UDP socket server.</p><p>This
  camel component supports both producer and consumer endpoints.</p><p>The Netty component has several options and allows fine-grained control of a number of TCP/UDP communication parameters (buffer sizes, keepAlives, tcpNoDelay etc) and facilitates both In-Only and In-Out communication on a Camel route.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="Netty-NettyComponent">Netty Component</h2><p><strong>Available as of Camel 2.3</strong></p><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This component is deprecated. You should use <a shape="rect" href="netty4.html">Netty4</a>.</p></div></div><p>The <strong style="line-height: 1.42857;">netty</strong> component in Camel is a socket communication component, based on the <a shape="rect" class="external-link" href="http://netty.io/" rel="nofollow" style="line-height: 1.42857;">Netty</a> project.</p><p>Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients.<br clear="none"> Netty greatly simplifies and streamlines network programming such as TCP and UDP socket server.</p><p>This
  camel component supports both producer and consumer endpoints.</p><p>The Netty component has several options and allows fine-grained control of a number of TCP/UDP communication parameters (buffer sizes, keepAlives, tcpNoDelay etc) and facilitates both In-Only and In-Out communication on a Camel route.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-netty&lt;/artifactId&gt;

Modified: websites/production/camel/content/pojo-messaging-example.html
==============================================================================
--- websites/production/camel/content/pojo-messaging-example.html (original)
+++ websites/production/camel/content/pojo-messaging-example.html Sun Jun 11 03:29:17 2017
@@ -110,9 +110,9 @@ mvn compile camel:run
 
 <h3 id="POJOMessagingExample-Whatshappening?">Whats happening?</h3>
 
-<p>When you start the example up you'll see a whole bunch of logs that won't really mean anything to you <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)"> The interesting stuff is happening in the background. Here's a diagram of whats going on.</p>
+<p>When you start the example up you'll see a whole bunch of logs that won't really mean anything to you <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)"> The interesting stuff is happening in the background. Here's a diagram of whats going on.</p>
 
-<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="pojo-messaging-example.data/pojo-messaging.jpg" data-image-src="/confluence/download/attachments/108577/pojo-messaging.jpg?version=1&amp;modificationDate=1233062777000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9645" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="pojo-messaging.jpg" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="108577" data-linked-resource-container-version="24"></span></p>
+<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="pojo-messaging-example.data/pojo-messaging.jpg" data-image-src="/confluence/download/attachments/108577/pojo-messaging.jpg?version=1&amp;modificationDate=1233062777000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9645" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="pojo-messaging.jpg" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="108577" data-linked-resource-container-version="25"></span></p>
 
 <p>At step 1 the <code>SendFileRecordsToQueueBean</code> polls the <code>./src/data</code> directory for new files. There are 3 files in this directory so 3 messages will be created. As shown below, the <a shape="rect" href="pojo-consuming.html"><code>@Consume</code></a> annotation will cause any new messages coming from the <code>file:src/data endpoint</code> to be sent to the <code>onFileSendToQueue</code> method.</p>
 

Modified: websites/production/camel/content/restlet.html
==============================================================================
--- websites/production/camel/content/restlet.html (original)
+++ websites/production/camel/content/restlet.html Sun Jun 11 03:29:17 2017
@@ -100,7 +100,7 @@
 </div></div><p>Format of restletUrl:</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[protocol://hostname[:port][/resourcePattern]
 ]]></script>
-</div></div><p>Restlet promotes decoupling of protocol and application concerns. The reference implementation of <a shape="rect" class="external-link" href="http://www.noelios.com/products/restlet-engine" rel="nofollow">Restlet Engine</a> supports a number of protocols. However, we have tested the HTTP protocol only. The default port is port 80. We do not automatically switch default port based on the protocol yet.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><p>&#160;</p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>It seems Restlet is case sensitive in understanding headers. For example to use content-type, use Content-Type, and for location use Location and so on.</p></div></div><div class="confluence-information-macro 
 confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>We have received a report about drop in performance in camel-restlet in Camel 2.14.0 and 2.14.1. We have reported this to the Restlet team in <a shape="rect" class="external-link" href="https://github.com/restlet/restlet-framework-java/issues/996" rel="nofollow">issue 996</a>. To remedy the issue then from Camel 2.14.2 onwards you can set synchronous=true as option on the endpoint uris, Or set it on the RestletComponent as a global option so all endpoints inherit this option.</p></div></div><p>&#160;</p><h3 id="Restlet-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>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Descript
 ion</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>headerFilterStrategy=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An instance of <code>RestletHeaderFilterStrategy</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use the <code>#</code> notation (<code>headerFilterStrategy=#</code><em>refName</em>) to reference a header filter strategy in the Camel Registry. The strategy will be plugged into the restlet binding if it is <code>HeaderFilterStrategyAware</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletBinding=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An instance of <code>DefaultRestletBinding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of a <code>RestletBinding</code> object in the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletMeth
 od</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>On a producer endpoint, specifies the request method to use. On a consumer endpoint, specifies that the endpoint consumes only <code>restletMethod</code> requests. The string value is converted to <a shape="rect" class="external-link" href="http://www.restlet.org/documentation/1.1/api/org/restlet/data/Method.html" rel="nofollow">org.restlet.data.Method</a> by the <code>Method.valueOf(String)</code> method.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletMethods</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> Specify one or more methods separated by commas (e.g. <code>restletMethods=post,put</code>) to be serviced by a restlet consumer endpoint. If both <code>restletMethod</code> and 
 <code>restletMethods</code> options are specified, the <code>restletMethod</code> setting is ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletRealm=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of the Realm Map in the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletUriPatterns=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> Specify one ore more URI templates to be serviced by a restlet consumer endpoint, using the <code>#</code> notation to reference a <code>List&lt;String&gt;</code> in the Camel Registry. If a URI pattern has been defined in the endpoint URI, both the URI pattern defined in the endpoint and the <code>restletU
 riPatterns</code> option will be honored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>throwExceptionOnFailure</code> (<strong>2.6 or later</strong>)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>*Producer only * Throws exception on a producer failure.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>connectionTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.3</strong> <strong>Producer only</strong> The Client will give up connection if the connection is timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>socketTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Came
 l 2.12.3</strong> <strong>Producer only</strong> The Client socket receive timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream from Jetty is cached or not (Camel will read the stream into a in memory/overflow to file,&#160;</span><a shape="rect" class="external-link" href="http://camel.apache.org/stream-caching.html" title="Stream caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default Camel will cache the Jetty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to&#160;</span><code>true</code><span style="color: rgb(0,0,0);">&#160;when you for example need to a
 ccess the raw stream, such as streaming it directly to a file or other persistent store. DefaultRestletBinding will copy the request input stream into a stream cache and put it into message body if this option is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to support reading the stream multiple times.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>streamRepresentation</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16.4/2.17.2:</strong> <strong>Producer only</strong> <span style="line-height: 1.42857;">Whether to support stream representation as response from calling a REST service using the restlet producer. If the response is streaming then this option can be enabled to use an </span><a shape="rect" class="external-link" href="http://java.io" style="line-height: 1.42857;" rel="nofollow">java.io</a><span style="line-height: 1.42857
 ;">.InputStream as the message body on the Camel Message body. If using this option you may want to enable the autoCloseStream option as well to ensure the input stream is closed when the Camel Exchange is done being routed. However if you need to read the stream outside a Camel route, you may need </span><span style="line-height: 1.42857;">to not auto close the stream.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>autoCloseStream</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16.4/2.17.2:</strong><span>&#160;</span><strong>Producer only </strong><span style="line-height: 1.42857;">Whether to auto close the stream representation as response from calling a REST service using the restlet producer. If the response is streaming and the option streamRepresentation is enabled then you may want to auto close the InputStream from the streaming response to ensure 
 the input stream is closed when the Camel Exchange is done being routed. However if you need to read the stream outside a Camel route, you may need to not auto close the stream.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>cookieHandler</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.19: Producer only:</strong> Configure a cookie handler to maintain a HTTP session</td></tr></tbody></table></div><h3 id="Restlet-ComponentOptions">Component Options</h3><p>The Restlet component can be configured with the following options. Notice these are <strong>component</strong> options and cannot be configured on the endpoint, see further below for an example.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th col
 span="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>controllerDaemon</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.10:</strong> Indicates if the controller thread should be a daemon (not blocking JVM exit).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>controllerSleepTimeMs</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Time for the controller thread to sleep between each control.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>inboundBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</stro
 ng> The size of the buffer when reading messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>minThreads</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Minimum threads waiting to service requests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxThreads</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum threads that will service requests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code><span>lowThreads</span></code></td><td colspan="1" rowspan="1" class="confluenceTd">8</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.13: </strong>Number of worker threads determining when the connector is considered overloaded.</td></tr><tr><td cols
 pan="1" rowspan="1" class="confluenceTd"><code>maxQueued</code></td><td colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.13: </strong>Maximum number of calls that can be queued if there aren't any worker thread available to service them. If the value is '0', then no queue is used and calls are rejected if no worker thread is immediately available. If the value is '-1', then an unbounded queue is used and calls are never rejected.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxConnectionsPerHost</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum number of concurrent connections per host (IP address).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxTotalConnections</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code
 >-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum number of concurrent connections in total.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>outboundBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of the buffer when writing messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>persistingConnections</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.10:</strong> Indicates if connections should be kept alive after a call.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pipeliningConnections</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Indicates if pipelining connections are supported.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>threadMaxIdleTimeMs</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Time for an idle thread to wait for an operation before being collected.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useForwardedForHeader</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.10:</strong> Lookup the "X-Forwarded-For" header supported by popular proxies and caches and uses it to populate the Request.getClientAddresses() method result. This information is only safe for intermediary components within your local network. Other addresses could easil
 y be changed by setting a fake header and should not be trusted for serious security checks.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>reuseAddress</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.10.5/2.11.1:</strong> Enable/disable the SO_REUSEADDR socket option. See java.io.ServerSocket#reuseAddress property for additional details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream from Jetty is cached or not (Camel will read the stream into a in memory/overflow to file,&#160;</span><a shape="rect" class="external-link" href="http://camel.apache.org/stream-
 caching.html" title="Stream caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default Camel will cache the Jetty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to&#160;</span><code>true</code><span style="color: rgb(0,0,0);">&#160;when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultRestletBinding will copy the request input stream into a stream cache and put it into message body if this option is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to support reading the stream multiple times.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">enabledConverters</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong><span> By default, Restlet engine loads all the extension it fin
 ds at run-time and this option filter out all the converters except those explicit listed using full qualified class name or simple class name. </span>i.e. by setting <span style="line-height: 1.42857;">enabledConverters=JacksonConverter, GsonConverter the RestletComponent will remove all the converters loaded by the <span>Restlet engine except Jackson and Gson. Note that you still need to add the extensions as dependency.</span></span></p></td></tr></tbody></table></div><h3 id="Restlet-MessageHeaders">Message Headers</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Content-Type</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code><
 /p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the content type, which can be set on the OUT message by the application/processor. The value is the <code>content-type</code> of the response message. If this header is not set, the content type is based on the object type of the OUT message body. In Camel 2.3 onward, if the Content-Type header is specified in the Camel IN message, the value of the header determine the content type for the Restlet request message.&#160;&#160; Otherwise, it is defaulted to "application/x-www-form-urlencoded'. Prior to release 2.3, it is not possible to change the request content type default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAcceptContentType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.9.3, 2.10.0:</strong> The HTTP Accept request header.</p></td></tr><tr><td co
 lspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpMethod</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The HTTP request method. This is set in the IN message header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpQuery</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The query string of the request URI. It is set on the IN message by <code>DefaultRestletBinding</code> when the restlet component receives a request.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpResponseCode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code> or <code>Integer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The response code can be set on the OUT message by the applicati
 on/processor. The value is the response code of the response message. If this header is not set, the response code is set by the restlet runtime engine.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpUri</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The HTTP request URI. This is set in the IN message header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletLogin</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Login name for basic authentication. It is set on the IN message by the application and gets filtered before the restlet request header by Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletPassword</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
 <code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Password name for basic authentication. It is set on the IN message by the application and gets filtered before the restlet request header by Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletRequest</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Request</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The <code>org.restlet.Request</code> object which holds all request details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletResponse</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Response</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The <code>org.restlet.Response</code> object. You can use this to create responses using the API from Restlet. See examples below.</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.restlet.*</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attributes of a Restlet message that get propagated to Camel IN headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache-control</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code> or <code>List&lt;CacheDirective&gt;</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> User can set the cache-control with the String value or the List of CacheDirective of Restlet from the camel message header.</p></td></tr></tbody></table></div></div>
+</div></div><p>Restlet promotes decoupling of protocol and application concerns. The reference implementation of <a shape="rect" class="external-link" href="http://www.noelios.com/products/restlet-engine" rel="nofollow">Restlet Engine</a> supports a number of protocols. However, we have tested the HTTP protocol only. The default port is port 80. We do not automatically switch default port based on the protocol yet.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><p>&#160;</p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>It seems Restlet is case sensitive in understanding headers. For example to use content-type, use Content-Type, and for location use Location and so on.</p></div></div><div class="confluence-information-macro 
 confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>We have received a report about drop in performance in camel-restlet in Camel 2.14.0 and 2.14.1. We have reported this to the Restlet team in <a shape="rect" class="external-link" href="https://github.com/restlet/restlet-framework-java/issues/996" rel="nofollow">issue 996</a>. To remedy the issue then from Camel 2.14.2 onwards you can set synchronous=true as option on the endpoint uris, Or set it on the RestletComponent as a global option so all endpoints inherit this option.</p></div></div><p>&#160;</p><h3 id="Restlet-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>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Descript
 ion</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>headerFilterStrategy=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An instance of <code>RestletHeaderFilterStrategy</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use the <code>#</code> notation (<code>headerFilterStrategy=#</code><em>refName</em>) to reference a header filter strategy in the Camel Registry. The strategy will be plugged into the restlet binding if it is <code>HeaderFilterStrategyAware</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletBinding=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An instance of <code>DefaultRestletBinding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of a <code>RestletBinding</code> object in the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletMeth
 od</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>On a producer endpoint, specifies the request method to use. On a consumer endpoint, specifies that the endpoint consumes only <code>restletMethod</code> requests. The string value is converted to <a shape="rect" class="external-link" href="http://www.restlet.org/documentation/1.1/api/org/restlet/data/Method.html" rel="nofollow">org.restlet.data.Method</a> by the <code>Method.valueOf(String)</code> method.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletMethods</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> Specify one or more methods separated by commas (e.g. <code>restletMethods=post,put</code>) to be serviced by a restlet consumer endpoint. If both <code>restletMethod</code> and 
 <code>restletMethods</code> options are specified, the <code>restletMethod</code> setting is ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletRealm=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of the Realm Map in the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>restletUriPatterns=#</code><em>refName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> Specify one ore more URI templates to be serviced by a restlet consumer endpoint, using the <code>#</code> notation to reference a <code>List&lt;String&gt;</code> in the Camel Registry. If a URI pattern has been defined in the endpoint URI, both the URI pattern defined in the endpoint and the <code>restletU
 riPatterns</code> option will be honored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>throwExceptionOnFailure</code> (<strong>2.6 or later</strong>)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>*Producer only * Throws exception on a producer failure.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>connectionTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.3</strong> <strong>Producer only</strong> The Client will give up connection if the connection is timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>socketTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Came
 l 2.12.3</strong> <strong>Producer only</strong> The Client socket receive timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream from Jetty is cached or not (Camel will read the stream into a in memory/overflow to file,&#160;</span><a shape="rect" class="external-link" href="http://camel.apache.org/stream-caching.html" title="Stream caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default Camel will cache the Jetty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to&#160;</span><code>true</code><span style="color: rgb(0,0,0);">&#160;when you for example need to a
 ccess the raw stream, such as streaming it directly to a file or other persistent store. DefaultRestletBinding will copy the request input stream into a stream cache and put it into message body if this option is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to support reading the stream multiple times.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>streamRepresentation</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16.4/2.17.2:</strong> <strong>Producer only</strong> <span style="line-height: 1.42857;">Whether to support stream representation as response from calling a REST service using the restlet producer. If the response is streaming then this option can be enabled to use an </span><a shape="rect" class="external-link" href="http://java.io" rel="nofollow" style="line-height: 1.42857;">java.io</a><span style="line-height: 1.42857
 ;">.InputStream as the message body on the Camel Message body. If using this option you may want to enable the autoCloseStream option as well to ensure the input stream is closed when the Camel Exchange is done being routed. However if you need to read the stream outside a Camel route, you may need </span><span style="line-height: 1.42857;">to not auto close the stream.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>autoCloseStream</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16.4/2.17.2:</strong><span>&#160;</span><strong>Producer only </strong><span style="line-height: 1.42857;">Whether to auto close the stream representation as response from calling a REST service using the restlet producer. If the response is streaming and the option streamRepresentation is enabled then you may want to auto close the InputStream from the streaming response to ensure 
 the input stream is closed when the Camel Exchange is done being routed. However if you need to read the stream outside a Camel route, you may need to not auto close the stream.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>cookieHandler</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.19: Producer only:</strong> Configure a cookie handler to maintain a HTTP session</td></tr></tbody></table></div><h3 id="Restlet-ComponentOptions">Component Options</h3><p>The Restlet component can be configured with the following options. Notice these are <strong>component</strong> options and cannot be configured on the endpoint, see further below for an example.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th col
 span="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>controllerDaemon</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.10:</strong> Indicates if the controller thread should be a daemon (not blocking JVM exit).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>controllerSleepTimeMs</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Time for the controller thread to sleep between each control.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>inboundBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</stro
 ng> The size of the buffer when reading messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>minThreads</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Minimum threads waiting to service requests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxThreads</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum threads that will service requests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code><span>lowThreads</span></code></td><td colspan="1" rowspan="1" class="confluenceTd">8</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.13: </strong>Number of worker threads determining when the connector is considered overloaded.</td></tr><tr><td cols
 pan="1" rowspan="1" class="confluenceTd"><code>maxQueued</code></td><td colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.13: </strong>Maximum number of calls that can be queued if there aren't any worker thread available to service them. If the value is '0', then no queue is used and calls are rejected if no worker thread is immediately available. If the value is '-1', then an unbounded queue is used and calls are never rejected.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxConnectionsPerHost</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum number of concurrent connections per host (IP address).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxTotalConnections</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code
 >-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum number of concurrent connections in total.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>outboundBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of the buffer when writing messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>persistingConnections</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.10:</strong> Indicates if connections should be kept alive after a call.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pipeliningConnections</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Indicates if pipelining connections are supported.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>threadMaxIdleTimeMs</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Time for an idle thread to wait for an operation before being collected.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useForwardedForHeader</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.10:</strong> Lookup the "X-Forwarded-For" header supported by popular proxies and caches and uses it to populate the Request.getClientAddresses() method result. This information is only safe for intermediary components within your local network. Other addresses could easil
 y be changed by setting a fake header and should not be trusted for serious security checks.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>reuseAddress</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.10.5/2.11.1:</strong> Enable/disable the SO_REUSEADDR socket option. See java.io.ServerSocket#reuseAddress property for additional details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream from Jetty is cached or not (Camel will read the stream into a in memory/overflow to file,&#160;</span><a shape="rect" class="external-link" href="http://camel.apache.org/stream-
 caching.html" title="Stream caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default Camel will cache the Jetty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to&#160;</span><code>true</code><span style="color: rgb(0,0,0);">&#160;when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultRestletBinding will copy the request input stream into a stream cache and put it into message body if this option is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to support reading the stream multiple times.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">enabledConverters</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong><span> By default, Restlet engine loads all the extension it fin
 ds at run-time and this option filter out all the converters except those explicit listed using full qualified class name or simple class name. </span>i.e. by setting <span style="line-height: 1.42857;">enabledConverters=JacksonConverter, GsonConverter the RestletComponent will remove all the converters loaded by the <span>Restlet engine except Jackson and Gson. Note that you still need to add the extensions as dependency.</span></span></p></td></tr></tbody></table></div><h3 id="Restlet-MessageHeaders">Message Headers</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Content-Type</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code><
 /p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the content type, which can be set on the OUT message by the application/processor. The value is the <code>content-type</code> of the response message. If this header is not set, the content type is based on the object type of the OUT message body. In Camel 2.3 onward, if the Content-Type header is specified in the Camel IN message, the value of the header determine the content type for the Restlet request message.&#160;&#160; Otherwise, it is defaulted to "application/x-www-form-urlencoded'. Prior to release 2.3, it is not possible to change the request content type default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAcceptContentType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.9.3, 2.10.0:</strong> The HTTP Accept request header.</p></td></tr><tr><td co
 lspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpMethod</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The HTTP request method. This is set in the IN message header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpQuery</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The query string of the request URI. It is set on the IN message by <code>DefaultRestletBinding</code> when the restlet component receives a request.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpResponseCode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code> or <code>Integer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The response code can be set on the OUT message by the applicati
 on/processor. The value is the response code of the response message. If this header is not set, the response code is set by the restlet runtime engine.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHttpUri</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The HTTP request URI. This is set in the IN message header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletLogin</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Login name for basic authentication. It is set on the IN message by the application and gets filtered before the restlet request header by Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletPassword</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
 <code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Password name for basic authentication. It is set on the IN message by the application and gets filtered before the restlet request header by Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletRequest</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Request</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The <code>org.restlet.Request</code> object which holds all request details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRestletResponse</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Response</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The <code>org.restlet.Response</code> object. You can use this to create responses using the API from Restlet. See examples below.</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.restlet.*</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attributes of a Restlet message that get propagated to Camel IN headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache-control</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code> or <code>List&lt;CacheDirective&gt;</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> User can set the cache-control with the String value or the List of CacheDirective of Restlet from the camel message header.</p></td></tr></tbody></table></div></div>
 
 
 <h3 id="Restlet-MessageBody">Message Body</h3><p>Camel will store the restlet response from the external server on the OUT body. All headers from the IN message will be copied to the OUT message, so that headers are preserved during routing.</p><h3 id="Restlet-Samples">Samples</h3><h4 id="Restlet-RestletEndpointwithAuthentication">Restlet Endpoint with Authentication</h4><p>The following route starts a <code>restlet</code> consumer endpoint that listens for <code>POST</code> requests on <a shape="rect" class="external-link" href="http://localhost:8080" rel="nofollow">http://localhost:8080</a>. The processor creates a response that echoes the request body and the value of the <code>id</code> header.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/camel/content/route-throttling-example.html
==============================================================================
--- websites/production/camel/content/route-throttling-example.html (original)
+++ websites/production/camel/content/route-throttling-example.html Sun Jun 11 03:29:17 2017
@@ -150,7 +150,7 @@
 For example you can change the option <code>maxInflightExchanges</code> while its running to find a more suitable value.</p>
 
 <p>The screenshot below illustrates it from a JConsole.<br clear="none">
-<span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="route-throttling-example.data/throttling%20services.png" data-image-src="/confluence/download/attachments/5604305/throttling%20services.png?version=1&amp;modificationDate=1257166177000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="5865480" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="throttling services.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="5604305" data-linked-resource-container-version="19"></span></p>
+<span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="route-throttling-example.data/throttling%20services.png" data-image-src="/confluence/download/attachments/5604305/throttling%20services.png?version=1&amp;modificationDate=1257166177000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="5865480" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="throttling services.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="5604305" data-linked-resource-container-version="20"></span></p>
 
 <p>See more at <a shape="rect" href="camel-jmx.html">using JMX with Camel</a>.</p>
 

Modified: websites/production/camel/content/simple.html
==============================================================================
--- websites/production/camel/content/simple.html (original)
+++ websites/production/camel/content/simple.html Sun Jun 11 03:29:17 2017
@@ -230,7 +230,7 @@ simple(&quot;${in.header.type} == ${bean
    &lt;/filter&gt;
 &lt;/from&gt;
 ]]></script>
-</div></div><p>The Simple language can be used for the predicate test above in the <a shape="rect" href="message-filter.html">Message Filter</a> pattern, where we test if the in message has a <strong><code>foo</code></strong> header (a header with the key <strong><code>foo</code></strong> exists). If the expression evaluates to&#160;<strong><code>true</code></strong> then the message is routed to the <strong><code>mock:fooOrders</code></strong> endpoint, otherwise it is lost in the deep blue sea <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>The same example in Java DSL:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The Simple language can be used for the predicate test above in the <a shape="rect" href="message-filter.html">Message Filter</a> pattern, where we test if the in message has a <strong><code>foo</code></strong> header (a header with the key <strong><code>foo</code></strong> exists). If the expression evaluates to&#160;<strong><code>true</code></strong> then the message is routed to the <strong><code>mock:fooOrders</code></strong> endpoint, otherwise it is lost in the deep blue sea <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>The same example in Java DSL:</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[from(&quot;seda:orders&quot;)
   .filter().simple(&quot;${in.header.foo}&quot;)
   .to(&quot;seda:fooOrders&quot;);

Modified: websites/production/camel/content/siteindex.html
==============================================================================
--- websites/production/camel/content/siteindex.html (original)
+++ websites/production/camel/content/siteindex.html Sun Jun 11 03:29:17 2017
@@ -578,7 +578,7 @@
              <div class="smalltext" style="margin: 0 0 0 36px">Camel 2.2.0 release http://camel.apache.org/download.data/camel-box-v1.0-150x200.png New and Noteworthy Welcome to the 2.2.0 release which approx 180 issues resolved (new features, improvements and bug fixes such as...) Routing Slip now breaks when an exc</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="camel-2200-release.html">Camel 2.20.0 Release</a>
         <br clear="none">
-             <div class="smalltext" style="margin: 0 0 0 36px">Camel 2.20.0 Release (currently in progress) http://camel.apache.org/images/camel-box-small.png  New and Noteworthy Welcome to the x.y.z release which approx XXX issues resolved (new features, improvements and bug fixes such as...) The Camel Maven Plugin </div>
+             <div class="smalltext" style="margin: 0 0 0 36px">Camel 2.20.0 Release (currently in progress) http://camel.apache.org/images/camel-box-small.png  New and Noteworthy Welcome to the x.y.z release which approx XXX issues resolved (new features, improvements and bug fixes such as...) Many internal optimisat</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="camel-23-overhaul-of-aggregator-eip.html">Camel 2.3 - Overhaul of Aggregator EIP</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">Camel 2.3 - Overhaul of Aggregator EIP The Aggregator EIP needs an overhaul in Camel to remedy a few new features, improvements and fix an issue with using completion predicate and timeout. Current issues Build on top of BatchProcessor which has to comple</div>
@@ -833,7 +833,7 @@
              <div class="smalltext" style="margin: 0 0 0 36px">ComponentConfiguration API As of Camel 2.12 the new ComponentConfiguration API provides a mechanism for tools (command line, IDE, web based) to introspect the available Camel components and introspect what configuration parameters are available on the com</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="components.html">Components</a>
         <br clear="none">
-             <div class="smalltext" style="margin: 0 0 0 36px">Components Included Camel includes the following Component implementations via URIs. Make sure to read How do I configure endpoints to learn more about configuring endpoints. For example how to refer to beans in the Registry or how to use raw values for p</div>
+             <div class="smalltext" style="margin: 0 0 0 36px">Components Included Camel includes the following Component implementations via URIs. Make sure to read How Do I Configure Endpoints? to learn more about configuring endpoints. For example how to refer to beans in the Registry or how to use raw values for </div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="composed-message-processor.html">Composed Message Processor</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">Composed Message Processor The Composed Message Processor http://www.enterpriseintegrationpatterns.com/DistributionAggregate.html from the EIP patterns allows you to process a composite message by splitting it up, routing the sub-messages to appropriate d</div>
@@ -1339,7 +1339,7 @@
              <div class="smalltext" style="margin: 0 0 0 36px">Ho do I specify which method to use when using beans in routes? See Bean, Bean Integration and Bean Binding However if you have overloaded methods you need to specify which of those overloaded method you want to use by specifying parameter type qualifiers</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-can-i-create-a-custom-component-or-endpoint.html">How can I create a custom component or endpoint</a>
         <br clear="none">
-             <div class="smalltext" style="margin: 0 0 0 36px">How can I create a custom component or endpoint? Please read Writing Components for a background in how to implement a new component or endpoint. Its really easy to do! See Also Writing Components How do I add a component How do I configure endpoints</div>
+             <div class="smalltext" style="margin: 0 0 0 36px">How can I create a custom component or endpoint? Please read Writing Components for a background in how to implement a new component or endpoint. Its really easy to do! See Also Writing Components How do I add a component How Do I Configure Endpoints?</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-can-i-get-help.html">How can I get help</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">Support</div>
@@ -1367,9 +1367,9 @@
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-compile-the-code.html">How do I compile the code</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">How do I compile from the source code? See the Building page</div>
-                             <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-configure-endpoints.html">How do I configure endpoints</a>
+                             <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-configure-endpoints.html">How Do I Configure Endpoints?</a>
         <br clear="none">
-             <div class="smalltext" style="margin: 0 0 0 36px">How do I configure endpoints? There are a few different approaches to configuring components and endpoints. Using Java Code You can explicitly configure a Component using Java code as shown in this example Or you can explicitly get hold of an Endpoint and</div>
+             <div class="smalltext" style="margin: 0 0 0 36px">How Do I Configure Endpoints? There are a few different approaches to configuring components and endpoints. Using Java You can explicitly configure a Component using Java code as shown in this example Or you can explicitly get hold of an Endpoint and conf</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.html">How do I configure password options on Camel endpoints without the value being encoded</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">How do I configure password options on Camel endpoints without the value being encoded? When you configure Camel endpoints using URIs then the parameter values gets url encoded by default. This can be a problem when you want to configure passwords as is. </div>
@@ -1400,9 +1400,9 @@
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-import-rests-from-other-xml-files.html">How do I import rests from other XML files</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">How do I import rests from other XML files Available as of Camel 2.14 When defining rests in Camel using Xml Configuration you may want to define some rests in other XML files. For example you may have many rest services and it may help to maintain the ap</div>
-                             <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-import-routes-from-other-xml-files.html">How Do I Import Routes From Other XML Files</a>
+                             <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-import-routes-from-other-xml-files.html">How Do I Import Routes From Other XML Files?</a>
         <br clear="none">
-             <div class="smalltext" style="margin: 0 0 0 36px">How do I import routes from other XML files Available as of Camel 2.3 When defining routes in Camel using Xml Configuration you may want to define some routes in other XML files. For example you may have many routes and it may help to maintain the applica</div>
+             <div class="smalltext" style="margin: 0 0 0 36px">How Do I Import Routes From Other XML Files? Available as of Camel 2.3 When defining routes in Camel using Xml Configuration you may want to define some routes in other XML files. For example you may have many routes and it may help to maintain the applic</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="how-do-i-invoke-camel-routes-from-jbi.html">How do I invoke Camel routes from JBI</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">How do I invoke Camel routes from JBI When you use the JBI endpoint as follows from("jbi:endpoint:http://foo.bar.org/MyService/MyEndpoint") you automatically expose the endpoint to the NMR bus where service qname is {http://foo.bar.org}MyService and endpo</div>
@@ -2476,7 +2476,7 @@
              <div class="smalltext" style="margin: 0 0 0 36px">Tools This page gives a list of the various tools available for Camel Camel Maven Tools Camel Maven Plugin for booting up Camel applications directly in maven to test it Camel Maven Archetypes http://camel.apache.org/camel-maven-archetypes.html for using </div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="tracer.html">Tracer</a>
         <br clear="none">
-             <div class="smalltext" style="margin: 0 0 0 36px">Tracer Interceptor Camel's tracer interceptor can be used for logging, by default at the INFO level, a route's execution. The tracer is an instance of org.apache.camel.spi.InterceptStrategy. It can be applied to either a DefaultCamelContext or a SpringCam</div>
+             <div class="smalltext" style="margin: 0 0 0 36px">Tracer Interceptor Implementing custom tracing via TracingInterceptor has been deprecated. However turning tracing on via setTracing(true) is okay.   Camel's tracer interceptor can be used for logging, by default at the INFO level, a route's execution. Th</div>
                              <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Page">Page:</span>                 <a shape="rect" href="tracer-example.html">Tracer Example</a>
         <br clear="none">
              <div class="smalltext" style="margin: 0 0 0 36px">Tracer Example Introduction This example demonstrates the Tracer. Tracer is a tracing feature build in camel core to log snapshots of Exchanges while they are routed. This allows you to see: how a given Exchange was routed a snapshot of the content of the</div>

Modified: websites/production/camel/content/spring-java-config-example.html
==============================================================================
--- websites/production/camel/content/spring-java-config-example.html (original)
+++ websites/production/camel/content/spring-java-config-example.html Sun Jun 11 03:29:17 2017
@@ -86,7 +86,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="SpringJavaConfigExample-SpringJavaConfigExample">Spring Java Config Example</h2><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Simple Jar runner</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Want to run your jar file and supply a list of packages / configuration classes and just see it run with Camel? Try <code>Main</code> from <code>org.apache.camel.spring</code> which even supports command-line flags.</p></div></div><p><span style="line-height: 1.4285715;">The spring java config example is a simple refactor of the </span><a shape="rect" href="spring-example.html">spring example</a><span style="line-height: 1.4285715;"> since Camel 2.0 to show how to use the </span><a shape="rect" class="external-link" href="http://www.springsource.org/javaconfig" style="line-height: 1.4285715;" rel
 ="nofollow">Spring JavaConfig</a><span style="line-height: 1.4285715;"> approach to working with Camel. In this example we just write RouteBuilder implementations, then Camel will find it through your configuration.</span></p><p>&#160;</p><p><strong>NOTE</strong> From Camel 2.2.0, camel-example-spring-javaconfig can only work with Spring 3.x.</p><p>To run the example we use the <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a>. For example from the source or binary distribution the following should work</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="SpringJavaConfigExample-SpringJavaConfigExample">Spring Java Config Example</h2><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Simple Jar runner</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Want to run your jar file and supply a list of packages / configuration classes and just see it run with Camel? Try <code>Main</code> from <code>org.apache.camel.spring</code> which even supports command-line flags.</p></div></div><p><span style="line-height: 1.4285715;">The spring java config example is a simple refactor of the </span><a shape="rect" href="spring-example.html">spring example</a><span style="line-height: 1.4285715;"> since Camel 2.0 to show how to use the </span><a shape="rect" class="external-link" href="http://www.springsource.org/javaconfig" rel="nofollow" style="line-height: 
 1.4285715;">Spring JavaConfig</a><span style="line-height: 1.4285715;"> approach to working with Camel. In this example we just write RouteBuilder implementations, then Camel will find it through your configuration.</span></p><p>&#160;</p><p><strong>NOTE</strong> From Camel 2.2.0, camel-example-spring-javaconfig can only work with Spring 3.x.</p><p>To run the example we use the <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a>. For example from the source or binary distribution the following should work</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[cd examples/camel-example-spring-javaconfig
 mvn camel:run
 ]]></script>

Modified: websites/production/camel/content/spring.html
==============================================================================
--- websites/production/camel/content/spring.html (original)
+++ websites/production/camel/content/spring.html Sun Jun 11 03:29:17 2017
@@ -170,49 +170,7 @@ public class MyRoute extends SpringRoute
     }
 }
 ]]></script>
-</div></div><p>You can also use the ANT style for inclusion and exclusion, as mentioned above in the <strong><code>&lt;packageScan&gt;</code></strong> documentation.</p><p></p><h2 id="Spring-HowdoIimportroutesfromotherXMLfiles">How do I import routes from other XML files</h2><p><strong>Available as of Camel 2.3</strong></p><p>When defining routes in Camel using <a shape="rect" href="xml-configuration.html">Xml Configuration</a> you may want to define some routes in other XML files. For example you may have many routes and it may help to maintain the application if some of the routes are in separate XML files. You may also want to store common and reusable routes in other XML files, which you can simply import when needed.</p><p>In <strong>Camel 2.3</strong> it is now possible to define routes outside <strong><code>&lt;camelContext/&gt;</code></strong> which you do in a new <strong><code>&lt;routeContext/&gt;</code></strong> tag.</p><div class="confluence-information-macro confluence
 -information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p><strong>Notice:</strong> When you use&#160;<strong><code>&lt;routeContext&gt;</code></strong> then they are separated, and cannot reuse existing <strong><code>&lt;onException&gt;</code></strong>, <strong><code>&lt;intercept&gt;</code></strong>,&#160;<strong><code>&lt;dataFormats&gt;</code></strong> and similar cross cutting functionality defined in the <strong><code>&lt;camelContext&gt;</code></strong>. In other words the&#160;<strong><code>&lt;routeContext&gt;</code></strong> is currently isolated. This may change in Camel 3.x.</p></div></div><p>For example we could have a file named <strong><code>myCoolRoutes.xml</code></strong> which contains a couple of routes as shown:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>
 myCoolRoutes.xml</b></div><div class="codeContent panelContent pdl">
-<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;
-       xsi:schemaLocation=&quot;
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
-    &quot;&gt;
-
-    &lt;!-- this is an included XML file where we only the the routeContext --&gt;
-    &lt;routeContext id=&quot;myCoolRoutes&quot; xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
-        &lt;!-- we can have a route --&gt;
-        &lt;route id=&quot;cool&quot;&gt;
-            &lt;from uri=&quot;direct:start&quot;/&gt;
-            &lt;to uri=&quot;mock:result&quot;/&gt;
-        &lt;/route&gt;
-        &lt;!-- and another route, you can have as many your like --&gt;
-        &lt;route id=&quot;bar&quot;&gt;
-            &lt;from uri=&quot;direct:bar&quot;/&gt;
-            &lt;to uri=&quot;mock:bar&quot;/&gt;
-        &lt;/route&gt;
-    &lt;/routeContext&gt;
-
-&lt;/beans&gt;
-]]></script>
-</div></div>Then in your XML file which contains the CamelContext you can use Spring to import the <strong><code>myCoolRoute.xml</code></strong> file. And then inside <strong><code>&lt;camelContext/&gt;</code></strong> you can refer to the <strong><code>&lt;routeContext/&gt;</code></strong> by its&#160;<strong><code>id</code></strong> as shown below:<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-&lt;!-- import the routes from another XML file --&gt;
-&lt;import resource=&quot;myCoolRoutes.xml&quot;/&gt;
-
-&lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
-
-    &lt;!-- refer to a given route to be used --&gt;
-    &lt;routeContextRef ref=&quot;myCoolRoutes&quot;/&gt;
-
-    &lt;!-- we can of course still use routes inside camelContext --&gt;
-    &lt;route id=&quot;inside&quot;&gt;
-        &lt;from uri=&quot;direct:inside&quot;/&gt;
-        &lt;to uri=&quot;mock:inside&quot;/&gt;
-    &lt;/route&gt;
-&lt;/camelContext&gt;
-]]></script>
-</div></div>Also notice that you can mix and match, having routes inside&#160;<strong><code>CamelContext</code></strong> and also externalized in <strong><code>RouteContext</code></strong>.<p>You can have as many <strong><code>&lt;routeContextRef/&gt;</code></strong> as you like.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Reusable routes</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The routes defined in <strong><code>&lt;routeContext/&gt;</code></strong> can be reused by multiple <strong><code>&lt;camelContext/&gt;</code></strong>. However its only the definition which is reused. At runtime each&#160;<strong><code>CamelContext</code></strong> will create its own instance of the route based on the definition.</p></div></div><h4 id="Spring-TestTimeExclusion.">Test Time Exclusion.</h4><p>At test time it is often desirable to be 
 able to selectively exclude matching routes from being initialized that are not applicable or useful to the test scenario. For instance you might a spring context file&#160;<strong><code>routes-context.xml</code></strong> and three Route builders <strong><code>RouteA</code>,&#160;</strong><code>RouteB</code> and&#160;<strong><code>RouteC</code></strong> in the&#160;<strong><code>org.example.routes</code></strong> package. The&#160;<strong><code>packageScan</code></strong> definition would discover all three of these routes and initialize them.</p><p>Say&#160;<strong><code>RouteC</code></strong> is not applicable to our test scenario and generates a lot of noise during test. It would be nice to be able to exclude this route from this specific test. The&#160;<strong><code>SpringTestSupport</code></strong> class has been modified to allow this. It provides two methods (<strong><code>excludedRoute</code></strong> and <strong><code>excludedRoutes</code></strong>) that may be overridden t
 o exclude a single class or an array of classes.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>You can also use the ANT style for inclusion and exclusion, as mentioned above in the <strong><code>&lt;packageScan&gt;</code></strong> documentation.</p><p></p><div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div><h4 id="Spring-TestTimeExclusion.">Test Time Exclusion.</h4><p>At test time it is often desirable to be able to selectively exclude matching routes from being initialized that are not applicable or useful to the test scenario. For instance you might a spring context file&#160;<strong><code>routes-context.xml</code></strong> and three Route builders <strong><code>RouteA</code>,&#160;</strong><code>RouteB</code> and&#160;<strong><code>RouteC</code></strong> in the&#160;<strong><code>org.example.routes</code></strong> package. The&#160;<strong><code>packageScan</code></strong> definition would discover all three of these routes and initialize them.</p><p>Say&#160;<strong><code>RouteC</code></strong>
  is not applicable to our test scenario and generates a lot of noise during test. It would be nice to be able to exclude this route from this specific test. The&#160;<strong><code>SpringTestSupport</code></strong> class has been modified to allow this. It provides two methods (<strong><code>excludedRoute</code></strong> and <strong><code>excludedRoutes</code></strong>) that may be overridden to exclude a single class or an array of classes.</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[public class RouteAandRouteBOnlyTest extends SpringTestSupport {
     @Override      
     protected Class excludeRoute() {
@@ -273,7 +231,7 @@ protected Class[] excludeRoutes() {
         &lt;/idempotentConsumer&gt;
     &lt;/route&gt;
 &lt;/camelContext&gt;]]></script>
-</div></div><p>&#160;</p><p>&#160;</p><h3 id="Spring-CamelContextAware">CamelContextAware</h3><p>If you want to be injected with the <a shape="rect" href="camelcontext.html">CamelContext</a> in your POJO just implement the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContextAware.html">CamelContextAware interface</a>; then when Spring creates your POJO the&#160;<strong><code>CamelContext</code></strong> will be injected into your POJO. Also see the <a shape="rect" href="bean-integration.html">Bean Integration</a> for further injections.</p><h2 id="Spring-IntegrationTesting">Integration Testing</h2><p>To avoid a hung route when testing using Spring Transactions see the note about Spring Integration Testing under&#160;<a shape="rect" href="transactional-client.html">Transactional Client</a>.</p><h3 id="Spring-Seealso">See also</h3><ul><li><a shape="rect" href="tutorial-jmsremoting.html">Spring JMS Tutorial</
 a></li><li><a shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="spring-example.html">Spring example</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li><li><a shape="rect" href="advanced-configuration-of-camelcontext-using-spring.html">Advanced configuration of CamelContext using Spring</a></li><li><a shape="rect" href="how-do-i-import-routes-from-other-xml-files.html">How Do I Import Routes From Other XML Files</a></li></ul></div>
+</div></div><p>&#160;</p><p>&#160;</p><h3 id="Spring-CamelContextAware">CamelContextAware</h3><p>If you want to be injected with the <a shape="rect" href="camelcontext.html">CamelContext</a> in your POJO just implement the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContextAware.html">CamelContextAware interface</a>; then when Spring creates your POJO the&#160;<strong><code>CamelContext</code></strong> will be injected into your POJO. Also see the <a shape="rect" href="bean-integration.html">Bean Integration</a> for further injections.</p><h2 id="Spring-IntegrationTesting">Integration Testing</h2><p>To avoid a hung route when testing using Spring Transactions see the note about Spring Integration Testing under&#160;<a shape="rect" href="transactional-client.html">Transactional Client</a>.</p><h3 id="Spring-Seealso">See also</h3><ul><li><a shape="rect" href="tutorial-jmsremoting.html">Spring JMS Tutorial</
 a></li><li><a shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="spring-example.html">Spring example</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li><li><a shape="rect" href="advanced-configuration-of-camelcontext-using-spring.html">Advanced configuration of CamelContext using Spring</a></li><li><a shape="rect" href="how-do-i-import-routes-from-other-xml-files.html">How Do I Import Routes From Other XML Files?</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">