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

svn commit: r932271 [1/2] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache restlet.html

Author: buildbot
Date: Thu Dec 11 11:19:33 2014
New Revision: 932271

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/restlet.html

Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Thu Dec 11 11:19:33 2014
@@ -1415,11 +1415,11 @@ template.send("direct:alias-verify&
                     </div>
     </div>
 <p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1418131126404 {padding: 0px;}
-div.rbtoc1418131126404 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1418131126404 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418296668726 {padding: 0px;}
+div.rbtoc1418296668726 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418296668726 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1418131126404">
+/*]]>*/</style></p><div class="toc-macro rbtoc1418296668726">
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>
@@ -10343,7 +10343,13 @@ ref:someName[?options]
 </div></div><p>Format of restletUrl:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[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><h3 id="BookComponentAppendix-Options.42">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>Description</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>restletMethod</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><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>restletUriPatterns</code> option will be honored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>throwExceptionOn
 Failure</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 Camel 2.12.3</strong> <strong>Producer only</strong> The Client socket receive timeout, 0 for unlimited wait.</p></td></tr><tr><td colspa
 n="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></tbody></table></div><h3 id="BookComponentAppendix-ComponentOptions.1">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 colspan="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="c
 onfluenceTd"><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:</strong> 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 colspan="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" ro
 wspan="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 colspan="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="confluenceT
 d"><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 easily 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></tbody></table></div><h3 id="BookComponentAppendix-MessageHeaders.15">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</c
 ode></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 colspan="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 appl
 ication/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></t
 r><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="BookComponentAppendix-MessageBody.4">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 preser
 ved during routing.</p><h3 id="BookComponentAppendix-Samples.12">Samples</h3><h4 id="BookComponentAppendix-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">
+</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="aui-message problem shadowed information-macro">
+                            <span class="aui-icon icon-problem">Icon</span>
+                <div class="message-content">
+                            <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="BookComponentAppendix-Options.42">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>Description</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>restletMethod</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>restletUriPatterns</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</stro
 ng> 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 Camel 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 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></tbody></table></div><h3 id="BookComponentAppendix-ComponentOptions.1">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 colspan="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>i
 nboundBufferSize</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 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 colspan="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 colspan="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 cach
 es 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 easily 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 inpu
 t 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></tbody></table></div><h3 id="BookComponentAppendix-MessageHeaders.15">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 colspan="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 st
 ring 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 application/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>Came
 lRestletLogin</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.Reque
 st</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" rows
 pan="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="BookComponentAppendix-MessageBody.4">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="BookComponentAppendix-Samples.12">Samples</h3><h4 id="BookComponentAppendix-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">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 from(&quot;restlet:http://localhost:&quot; + port + &quot;/securedOrders?restletMethod=post&amp;restletRealm=#realm&quot;).process(new Processor() {
     public void process(Exchange exchange) throws Exception {

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Thu Dec 11 11:19:33 2014
@@ -4126,11 +4126,11 @@ While not actual tutorials you might fin
                     </div>
     </div>
 <h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service. The route works in a synchronous fashion returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1418152727312 {padding: 0px;}
-div.rbtoc1418152727312 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1418152727312 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418296691140 {padding: 0px;}
+div.rbtoc1418296691140 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418296691140 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1418152727312">
+/*]]>*/</style></p><div class="toc-macro rbtoc1418296691140">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing the Server</a>
@@ -6316,11 +6316,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1418152728092 {padding: 0px;}
-div.rbtoc1418152728092 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1418152728092 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418296691917 {padding: 0px;}
+div.rbtoc1418296691917 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418296691917 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1418152728092">
+/*]]>*/</style><div class="toc-macro rbtoc1418296691917">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the Example</a></li></ul>
@@ -19224,11 +19224,11 @@ template.send(&quot;direct:alias-verify&
                     </div>
     </div>
 <p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1418152738949 {padding: 0px;}
-div.rbtoc1418152738949 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1418152738949 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1418296704442 {padding: 0px;}
+div.rbtoc1418296704442 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1418296704442 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1418152738949">
+/*]]>*/</style></p><div class="toc-macro rbtoc1418296704442">
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>
@@ -28152,7 +28152,13 @@ ref:someName[?options]
 </div></div><p>Format of restletUrl:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[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><h3 id="BookInOnePage-Options.63">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>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>headerFilterStrategy=#</code><em>refName</em></p></td><td cols
 pan="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>restletMethod</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" class="confluenceT
 d"><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" rowspa
 n="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>restletUriPatterns</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 Camel 2.12.3</strong> <strong>Producer only</strong> The Client socket receive timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" ro
 wspan="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 st
 ream 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></tbody></table></div><h3 id="BookInOnePage-ComponentOptions.1">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 colspan="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:</strong> 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 colspan="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 ser
 vice 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 colspan="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>6000
 0</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 easily 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" rows
 pan="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><cod
 e>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></tbody></table></div><h3 id="BookInOnePage-MessageHeaders.15">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 colspan="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 application/processor. The v
 alue 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" ro
 wspan="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="BookInOnePage-MessageBody.4">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="B
 ookInOnePage-Samples.19">Samples</h3><h4 id="BookInOnePage-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">
+</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="aui-message problem shadowed information-macro">
+                            <span class="aui-icon icon-problem">Icon</span>
+                <div class="message-content">
+                            <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="BookInOnePage-Options.63">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>Description</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>restletMethod</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>Consume
 r 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>restletUriPatterns</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 Camel 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 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></tbody></table></div><h3 id="BookInOnePage-ComponentOptions.1">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="con
 fluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>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:</strong> 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 colspa
 n="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 colspan="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 addres
 s).</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 colspan="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 t
 o populate the Request.getClientAddresses() method result. This information is only safe for intermediary components within your local network. Other addresses could easily 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 Je
 tty 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></tbody></table></div><h3 id="BookInOnePage-MessageHeaders.15">Message Headers</h3><div class="confluenceT
 ableSmall"><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-f
 orm-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 colspan="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 application/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 h
 olds 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="confluenc
 eTd"><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="BookInOnePage-MessageBody.4">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="BookInOnePage-Samples.19">Samples</h3><h4 id="BookInOnePage-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">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 from(&quot;restlet:http://localhost:&quot; + port + &quot;/securedOrders?restletMethod=post&amp;restletRealm=#realm&quot;).process(new Processor() {
     public void process(Exchange exchange) throws Exception {

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