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">


Reply via email to