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/06/15 12:21:13 UTC

svn commit: r912628 [1/3] - in /websites/production/camel/content: ./ cache/

Author: buildbot
Date: Sun Jun 15 10:21:12 2014
New Revision: 912628

Log:
Production update by buildbot for camel

Added:
    websites/production/camel/content/cache/main.pageCache   (with props)
Modified:
    websites/production/camel/content/book-architecture.html
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/book-pattern-appendix.html
    websites/production/camel/content/book-tutorials.html
    websites/production/camel/content/camel-30-ideas.html
    websites/production/camel/content/camel-jmx.html
    websites/production/camel/content/component.html
    websites/production/camel/content/cxf.html
    websites/production/camel/content/scala-dsl-eip.html
    websites/production/camel/content/siteindex.html
    websites/production/camel/content/sitemap.html
    websites/production/camel/content/tutorial-axis-camel.html
    websites/production/camel/content/tutorial-jmsremoting.html
    websites/production/camel/content/user-guide.html

Modified: websites/production/camel/content/book-architecture.html
==============================================================================
--- websites/production/camel/content/book-architecture.html (original)
+++ websites/production/camel/content/book-architecture.html Sun Jun 15 10:21:12 2014
@@ -275,7 +275,10 @@ disruptor-vm:someName[?<option>]
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports asynchronous message processing on Google App Engine by using the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/taskqueue/" rel="nofollow">task queueing service</a> as message queue. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gmail.html">GMail</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" type="syntaxhighlighter"><![CDATA[gmail://user@g[oogle]mail.com[?options]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports sending of emails via the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/mail/" rel="nofollow">mail service</a> of Google App Engine. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="geocoder.html">Geocoder</a> / camel-geocoder</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports sending of emails via the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/mail/" rel="nofollow">mail service</a> of Google App Engine. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gora.html">Gora</a><span>/ camel-gora</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: plain; gutter: false" type="syntaxhighlighter"><![CDATA[gora:instanceName[?options]
+]]></script>
+</div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">Supports to work with NoSQL databases using the&#160;<a shape="rect" class="external-link" href="http://gora.apache.org/">Apache Gora</a>&#160;framework.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="geocoder.html">Geocoder</a> / camel-geocoder</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" type="syntaxhighlighter"><![CDATA[geocoder:&lt;address|latlng:latitude,longitude&gt;[?options]
 ]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports looking up geocoders for an address, or reverse lookup geocoders from an address.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="guava-eventbus.html">Google Guava EventBus</a> / camel-guava-eventbus</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -609,7 +612,13 @@ disruptor-vm:someName[?&lt;option&gt;]
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>GPL</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For using a db4o datastore as a queue via the <a shape="rect" class="external-link" href="http://www.db4o.com/" rel="nofollow">db4o</a> library</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="esper.html">Esper</a> / camel-esper in <a shape="rect" class="external-link" href="http://code.google.com/p/camel-extra/" rel="nofollow">camel-extra</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[esper:name
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>GPL</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working with the <a shape="rect" class="external-link" href="http://esper.codehaus.org" rel="nofollow">Esper Library</a> for Event Stream Processing</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hibernate.html">Hibernate</a> / camel-hibernate in <a shape="rect" class="external-link" href="http://code.google.com/p/camel-extra/" rel="nofollow">camel-extra</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>GPL</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working with the <a shape="rect" class="external-link" href="http://esper.codehaus.org" rel="nofollow">Esper Library</a> for Event Stream Processing</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Fabric <a shape="rect" class="external-link" href="http://fabric8.io/gitbook/camelEndpointAmq.html" rel="nofollow">AMQ</a> / mq-fabric-camel in <a shape="rect" class="external-link" href="http://code.google.com/p/camel-extra/" rel="nofollow"></a><a shape="rect" class="external-link" href="http://code.google.com/p/camel-extra/" rel="nofollow">f</a><a shape="rect" class="external-link" href="http://fabric8.io/" rel="nofollow">abric8</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[amq:[queue|topic:]destinationName]]></script>
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Apache</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong><a shape="rect" class="external-link" href="http://fabric8.io/gitbook/camelEndpointAmq.html" rel="nofollow">amq:</a></strong> endpoint works exactly like the <strong>activemq:</strong> endpoint in Apache Camel; only it uses the <a shape="rect" class="external-link" href="http://fabric8.io/" rel="nofollow">fabric</a> to automatically discover the broker. So there is no configuration required; it'll just work out of the box and automatically discover whatever ActiveMQ message brokers are available; with failover and load balancing.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Fabric <a shape="rect" class="external-link" href="http://fabric8.io/gitbook/camelEndpointFabric.html" rel="nofollow">Fabric</a></span><span> / fabric-camel in </span><a shape="rect" class="external-link" href="http://code.google.com/p/ca
 mel-extra/" rel="nofollow"></a><a shape="rect" class="external-link" href="http://code.google.com/p/camel-extra/" rel="nofollow">f</a><a shape="rect" class="external-link" href="http://fabric8.io/" rel="nofollow">abric8</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[fabric:logicalName:camelEndpointUri]]></script>
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd">Apache</td><td colspan="1" rowspan="1" class="confluenceTd">The <strong><a shape="rect" class="external-link" href="http://fabric8.io/gitbook/camelEndpointFabric.html" rel="nofollow">fabric:</a></strong> endpoint uses Fabric's discovery mechanism to expose physical sockets, HTTP endpoints, etc. into the <a shape="rect" class="external-link" href="http://fabric8.io/gitbook/registry.html" rel="nofollow">runtime registry</a> using a logical name so that clients can use the existing Camel <a shape="rect" href="load-balancer.html">Load Balancer</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Fabric <a shape="rect" class="external-link" href="http://fabric8.io/gitbook/camelEndpointMaster.html" rel="nofollow">Master</a> / fabric-camel in </span><a shape="rect" class="external-link" href="http://code.google.com/p/camel-extra/" rel="nofollow"></a><a shape="rect" class="external-link" href="http://co
 de.google.com/p/camel-extra/" rel="nofollow">f</a><a shape="rect" class="external-link" href="http://fabric8.io/" rel="nofollow">abric8</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[master:clusterName:camelEndpointUri]]></script>
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd">Apache</td><td colspan="1" rowspan="1" class="confluenceTd">The <strong><a shape="rect" class="external-link" href="http://fabric8.io/gitbook/camelEndpointMaster.html" rel="nofollow">master:</a></strong> endpoint provides a way to ensure only a single consumer in a cluster consumes from a given endpoint; with automatic failover if that JVM dies.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hibernate.html">Hibernate</a> / camel-hibernate in <a shape="rect" class="external-link" href="http://code.google.com/p/camel-extra/" rel="nofollow">camel-extra</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[hibernate://entityName
 ]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>GPL</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For using a database as a queue via the <a shape="rect" class="external-link" href="http://www.hibernate.org/" rel="nofollow">Hibernate</a> library</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="jbi.html">JBI</a> / servicemix-camel</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

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 Sun Jun 15 10:21:12 2014
@@ -1528,11 +1528,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.rbtoc1400386643769 {padding: 0px;}
-div.rbtoc1400386643769 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1400386643769 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1402827490606 {padding: 0px;}
+div.rbtoc1402827490606 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1402827490606 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1400386643769">
+/*]]>*/</style></p><div class="toc-macro rbtoc1402827490606">
 <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>
@@ -6844,13 +6844,13 @@ We store big input streams (by default, 
     </div>
 <h3 id="BookComponentAppendix-Usage.2">Usage</h3><p>The <code>repository</code> element of the URI is used to look up the JCR <code>Repository</code> object in the Camel context registry.</p><h4 id="BookComponentAppendix-Producer.1">Producer</h4><div class="confluenceTableSmall">
 <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelJcrOperation</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelJcrInsert</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelJcrInsert or CamelJcrGetById operation to use </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelJcrNodeName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Used to determine the node name to use. </p></td></tr></tbody></table>
-</div><p>When a message is sent to a JCR producer endpoint:</p><ul><li>If the operation is CamelJcrInsert: A new node is created in the content repository, all the message headers of the IN message are transformed to <code>javax.jcr.Value</code> instances and added to the new node and the node's UUID is returned in the OUT message.</li><li>If the operation is CamelJcrGetById: A new node is retrieved from the repository using the message body as node identifier.</li></ul>    <div class="aui-message warning shadowed information-macro">
+</div><p>When a message is sent to a JCR producer endpoint:</p><ul><li>If the operation is CamelJcrInsert: A new node is created in the content repository, all the message headers of the IN message are transformed to <code><a shape="rect" class="external-link" href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/Value.html" rel="nofollow">javax.jcr.Value</a></code> instances and added to the new node and the node's UUID is returned in the OUT message.</li><li>If the operation is CamelJcrGetById: A new node is retrieved from the repository using the message body as node identifier.</li></ul>    <div class="aui-message warning shadowed information-macro">
                             <span class="aui-icon icon-warning">Icon</span>
                 <div class="message-content">
                             <p>Please note that the JCR Producer used message properties instead of message headers in Camel versions earlier than 2.12.3. See <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7067">https://issues.apache.org/jira/browse/CAMEL-7067</a> for more details.</p>
                     </div>
     </div>
-<p>&#160;</p><h4 id="BookComponentAppendix-Consumer.1">Consumer</h4><p>The consumer will connect to JCR periodically and return a List&lt;javax.jcr.observation.Event&gt; in the message body.</p><div class="confluenceTableSmall">
+<p>&#160;</p><h4 id="BookComponentAppendix-Consumer.1">Consumer</h4><p>The consumer will connect to JCR periodically and return a List&lt;<a shape="rect" class="external-link" href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/observation/Event.html" rel="nofollow">javax.jcr.observation.Event</a>&gt; in the message body.</p><div class="confluenceTableSmall">
 <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>eventTypes</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A combination of one or more event types encoded as a bit mask value such as javax.jcr.observation.Event.NODE_ADDED, javax.jcr.observation.Event.NODE_REMOVED, etc. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>deep</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> When it is true, events whose associated parent node is at current path or within its subgraph are received. </p></td
 ></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>uuids</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Only events whose associated parent node has one of the identifiers in the comma separated uuid list will be received.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>nodeTypeNames</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Only events whose associated parent node has one of the node types (or a subtype of one of the node types) in this list will be received. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>noLocal</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If <code>noLocal</code> is <code>true</cod
 e>, then events generated by the session through which the listener was registered are ignored. Otherwise, they are not ignored. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>sessionLiveCheckInterval</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>60000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Interval in milliseconds to wait before each session live checking. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>sessionLiveCheckIntervalOnStart</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>3000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Interval in milliseconds to wait before the first session live checking. </p></td></tr></tbody></table>
 </div><h3 id="BookComponentAppendix-Example.2">Example</h3><p>The snippet below creates a node named <code>node</code> under the <code>/home/test</code> node in the content repository. One additional property is added to the node as well: <code>my.contents.property</code> which will contain the body of the message being sent.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[from(&quot;direct:a&quot;).setHeader(JcrConstants.JCR_NODE_NAME, constant(&quot;node&quot;))
@@ -6886,7 +6886,8 @@ We store big input streams (by default, 
 a) If the query has only single column, then that JDBC Column object is returned. (such as SELECT COUNT( * ) FROM PROJECT will return a Long object.<br clear="none">
 b) If the query has more than one column, then it will return a Map of that result.<br clear="none">
 c) If the outputClass is set, then it will convert the query result into an Java bean object by calling all the setters that match the column names. It will assume your class has a default constructor to create instance with.<br clear="none">
-d) If the query resulted in more than one rows, it throws an non-unique result exception.</p></td></tr><tr><td></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>outputClass</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12.1:</strong> Specify the full package and class name to use as conversion when outputType=SelectOne. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>beanRowMapper</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12.1:</strong> To use a custom <code>org.apache.camel.component.jdbc.BeanRowMapper</code> when using <code>outputClass</code>. The default implementation will lower case the row names and skip underscores, and dashes. For example <code>"CUST_ID"</code> is mapped as <code>"custId"</code>. <
 /p></td></tr></tbody></table>
+d) If the query resulted in more than one rows, it throws an non-unique result exception.<br clear="none">
+<strong>Camel 2.14.0:</strong> New <code>StreamList</code> output type value that streams the result of the query using an <code>Iterator&lt;Map&lt;String, Object&gt;&gt;</code>, it can be used along with the <a shape="rect" href="splitter.html" title="Splitter">Splitter</a> EIP. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>outputClass</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12.1:</strong> Specify the full package and class name to use as conversion when outputType=SelectOne. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>beanRowMapper</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12.1:</strong> To use a custom <code>org.apache.camel.component.jdbc.BeanRowMapper</code> when using <code>outputCla
 ss</code>. The default implementation will lower case the row names and skip underscores, and dashes. For example <code>"CUST_ID"</code> is mapped as <code>"custId"</code>. </p></td></tr></tbody></table>
 </div><h3 id="BookComponentAppendix-Result">Result</h3><p>By default the result is returned in the OUT body as an <code>ArrayList&lt;HashMap&lt;String, Object&gt;&gt;</code>. The <code>List</code> object contains the list of rows and the <code>Map</code> objects contain each row with the <code>String</code> key as the column name. You can use the option <code>outputType</code> to control the result.</p><p><strong>Note:</strong> This component fetches <code>ResultSetMetaData</code> to be able to return the column name as the key in the <code>Map</code>.</p><h4 id="BookComponentAppendix-MessageHeaders.8">Message Headers</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelJdbcRowCount</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If the que
 ry is a <code>SELECT</code>, query the row count is returned in this OUT header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelJdbcUpdateCount</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If the query is an <code>UPDATE</code>, query the update count is returned in this OUT header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeneratedKeysRows</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Rows that contains the generated kets.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeneratedKeysRowCount</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The number of rows in the header that contains generated keys.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelJdbcColumnNames</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><
 strong>Camel 2.11.1:</strong> The column names from the ResultSet as a <code>java.util.Set</code> type.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelJdbcParametes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> A <code>java.util.Map</code> which has the headers to be used if <code>useHeadersAsParameters</code> has been enabled.</p></td></tr></tbody></table></div><h3 id="BookComponentAppendix-Generatedkeys">Generated keys</h3><p><strong>Available as of Camel 2.10</strong></p><p>If you insert data using SQL INSERT, then the RDBMS may support auto generated keys. You can instruct the <a shape="rect" href="jdbc.html">JDBC</a> producer to return the generated keys in headers.<br clear="none"> To do that set the header <code>CamelRetrieveGeneratedKeys=true</code>. Then the generated keys will be provided as headers with the keys listed in the table above.</p><p>You can see more details in this <a shape="rec
 t" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcGeneratedKeysTest.java">unit test</a>.</p>    <div class="aui-message hint shadowed information-macro">
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
@@ -6956,7 +6957,7 @@ row = data.get(1);
 assertEquals(&quot;cust2&quot;, row.get(&quot;ID&quot;));
 assertEquals(&quot;nsandhu&quot;, row.get(&quot;NAME&quot;));
 ]]></script>
-</div></div><p>If you want to work on the rows one by one instead of the entire ResultSet at once you need to use the <a shape="rect" href="splitter.html">Splitter</a> EIP such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>If you want to work on the rows one by one instead of the entire ResultSet at once you need to use the <a shape="rect" href="splitter.html">Splitter</a> EIP such as:</p><p>In Camel 2.13.x or older</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:hello&quot;)
         // here we split the data from the testdb into new messages one by one
@@ -6964,10 +6965,19 @@ from(&quot;direct:hello&quot;)
     .to(&quot;jdbc:testdb&quot;).split(body()).to(&quot;mock:result&quot;);
 
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-Sample-Pollingthedatabaseeveryminute">Sample - Polling the database every minute</h3><p>If we want to poll a database using the JDBC component, we need to combine it with a polling scheduler such as the <a shape="rect" href="timer.html">Timer</a> or <a shape="rect" href="quartz.html">Quartz</a> etc. In the following example, we retrieve data from the database every 60 seconds:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>In Camel 2.14.x or newer</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[from(&quot;direct:hello&quot;)
+// here we split the data from the testdb into new messages one by one
+// so the mock endpoint will receive a message per row in the table
+// the StreamList option allows to stream the result of the query without creating a List of rows
+// and notice we also enable streaming mode on the splitter
+.to(&quot;jdbc:testdb?outputType=StreamList&quot;)
+  .split(body()).streaming()
+  .to(&quot;mock:result&quot;);]]></script>
+</div></div><h3 id="BookComponentAppendix-Sample-Pollingthedatabaseeveryminute"><br clear="none"><span style="font-size: 16.0px;line-height: 1.5625;">Sample - Polling the database every minute</span></h3><p>If we want to poll a database using the JDBC component, we need to combine it with a polling scheduler such as the <a shape="rect" href="timer.html">Timer</a> or <a shape="rect" href="quartz.html">Quartz</a> etc. In the following example, we retrieve data from the database every 60 seconds:</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;timer://foo?period=60000&quot;).setBody(constant(&quot;select * from customer&quot;)).to(&quot;jdbc:testdb&quot;).to(&quot;activemq:queue:customers&quot;);
 ]]></script>
-</div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.29">See Also</h3>
+</div></div><p>&#160;</p><p></p><h3 id="BookComponentAppendix-SeeAlso.29">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="sql.html">SQL</a></li></ul>
 <h2 id="BookComponentAppendix-JettyComponent">Jetty Component</h2><p>The <strong>jetty</strong> component provides HTTP-based <a shape="rect" href="endpoint.html">endpoints</a> for consuming and producing HTTP requests. That is, the Jetty component behaves as a simple Web server.<br clear="none"> Jetty can also be used as a http client which mean you can also use it with Camel as a producer.</p>    <div class="aui-message hint shadowed information-macro">
                     <p class="title">Stream</p>
@@ -11811,9 +11821,7 @@ 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.41">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> true </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></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>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"><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="confluen
 ceTd"><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 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></tbody></table></div>
-<h3 id="BookComponentAppendix-MessageHeaders.15">Message Headers</h3><div class="confluenceTableSmall">
+</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.41">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>true</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></tbody></table></div><h3 i
 d="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><t
 d 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</c
 ode></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"><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" rowsp
 an="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 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:</str
 ong> Enable/disable the SO_REUSEADDR socket option. See java.io.ServerSocket#reuseAddress property for additional details.</p></td></tr></tbody></table></div><h3 id="BookComponentAppendix-MessageHeaders.15">Message Headers</h3><div class="confluenceTableSmall">
 <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> 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'.  Prio
 r 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>CamelRestle
 tLogin</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.re
 stlet.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><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[
@@ -11914,7 +11922,7 @@ from(&quot;restlet:http://localhost:&quo
     });
 ]]></script>
 </div></div><h4 id="BookComponentAppendix-Configuringmaxthreadsoncomponent">Configuring max threads on component</h4><p>To configure the max threads options you must do this on the component, such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;bean id=&quot;restlet&quot; class=&quot;org.apache.camel.component.RestletComponent&quot;&gt;
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;bean id=&quot;restlet&quot; class=&quot;org.apache.camel.component.restlet.RestletComponent&quot;&gt;
   &lt;property name=&quot;maxThreads&quot; value=&quot;100&quot;/&gt;
 &lt;/bean&gt;
 ]]></script>
@@ -13875,7 +13883,9 @@ protected RouteBuilder createRouteBuilde
 </div></div><p>From Camel 2.11 onwards you can use named parameters by using <code>#:name</code> style as shown:</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[sql:select * from table where id=:#myId order by name[?options]
 ]]></script>
-</div></div><p>When using named parameters, Camel will lookup the names from, in the given precedence:<br clear="none"> 1. from message body if its a <code>java.util.Map</code><br clear="none"> 2. from message headers</p><p>If a named parameter cannot be resolved, then an exception is thrown.</p><p>Notice that the standard <code>?</code> symbol that denotes the parameters to an SQL query is substituted with the <code>#</code> symbol, because the <code>?</code> symbol is used to specify options for the endpoint. The <code>?</code> symbol replacement can be configured on endpoint basis.</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.53">Options</h3><div class="confluenceTableSmall">
+</div></div><p>When using named parameters, Camel will lookup the names from, in the given precedence:<br clear="none"> 1. from message body if its a <code>java.util.Map</code><br clear="none"> 2. from message headers</p><p>If a named parameter cannot be resolved, then an exception is thrown.</p><p>From Camel 2.14 onward you can use Simple expressions as parameters as shown:</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[sql:select * from table where id=:#${property.myId} order by name[?options]]]></script>
+</div></div><p>Notice that the standard <code>?</code> symbol that denotes the parameters to an SQL query is substituted with the <code>#</code> symbol, because the <code>?</code> symbol is used to specify options for the endpoint. The <code>?</code> symbol replacement can be configured on endpoint basis.</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.53">Options</h3><div class="confluenceTableSmall">
 <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Option </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>batch</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</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.7.5, 2.8.4 and 2.9:</strong> Execute SQL batch update statements. See notes below on how the treatment of the inbound message body changes if this is set to <code>true</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>dataSourceRef</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</co
 de> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Deprecated and will be removed in Camel 3.0:</strong> Reference to a <code>DataSource</code> to look up in the registry. Use <code>dataSource=#theName</code> instead. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>dataSource</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> Reference to a <code>DataSource</code> to look up in the registry. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>placeholder</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>#</code> </p></
 td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.4:</strong> Specifies a character that will be replaced to <code>?</code> in SQL query. Notice, that it is simple <code>String.replaceAll()</code> operation and no SQL parsing is involved (quoted strings will also change). This replacement is <strong>only</strong> happening if the endpoint is created using the <code>SqlComponent</code>. If you manually create the endpoint, then use the expected <code>?</code> sign instead. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>template.&lt;xxx&gt;</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Sets additional options on the Spring <code>JdbcTemplate</code> that is used behind the scenes to execute the queries. For instance, <code>template.maxRows=10</code>. For detailed docu
 mentation, see the <a shape="rect" class="external-link" href="http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/jdbc/core/JdbcTemplate.html" rel="nofollow">JdbcTemplate javadoc</a> documentation. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>allowNamedParameters</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</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.11:</strong> Whether to allow using named parameters in the queries. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>processingStrategy</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> <strong>SQL consumer only:</str
 ong> Allows to plugin to use a custom <code>org.apache.camel.component.sql.SqlProcessingStrategy</code> to execute queries when the consumer has processed the rows/batch. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>prepareStatementStrategy</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> Allows to plugin to use a custom <code>org.apache.camel.component.sql.SqlPrepareStatementStrategy</code> to control preparation of the query and prepared statement. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.delay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>long</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>500</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong
 >Camel 2.11:</strong> <strong>SQL consumer only:</strong> Delay in milliseconds between each poll. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.initialDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>long</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>1000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> <strong>SQL consumer only:</strong> Milliseconds before polling starts. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.useFixedDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</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.11:</strong> <strong>SQL consumer only:</strong> Set to <code>true</code> to use fixed delay between polls, otherwise fi
 xed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>maxMessagesPerPoll</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> <strong>SQL consumer only:</strong> An integer value to define the maximum number of messages to gather per poll. By default, no maximum is set. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.useIterator</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</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.11:</strong> <strong>SQL consumer only:</strong> If <code>true</code> each row returned when polling will be processed individually. If <code>false</code> the entire <code>java.util.List</code> of data is set as the IN body. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.routeEmptyResultSet</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</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.11:</strong> <strong>SQL consumer only:</strong> Whether to route a single empty <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> if there was no data to poll. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.onConsume</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>St
 ring</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> <strong>SQL consumer only:</strong> After processing each row then this query can be executed, if the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> was processed successfully, for example to mark the row as processed. The query can have parameter. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.onConsumeFailed</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> <strong>SQL consumer only:</strong> After processing each row then this query can be executed, if the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> failed, for ex
 ample to  mark the row as failed. The query can have parameter. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.onConsumeBatchComplete</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> <strong>SQL consumer only:</strong> After processing the entire batch, this query can be executed to bulk update rows etc. The query cannot have parameters. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.expectedUpdateCount</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</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.11:</strong> <strong>SQL consumer only:</strong> If using <
 code>consumer.onConsume</code> then this option can be used to set an expected number of rows being updated. Typically you may set this to <code>1</code> to expect one row to be updated. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>consumer.breakBatchOnConsumeFail</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</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.11:</strong> <strong>SQL consumer only:</strong> If using <code>consumer.onConsume</code> and it fails, then this option controls whether to break out of the batch or continue processing the next row from the batch. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>alwaysPopulateStatement</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</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.11:</strong> <strong>SQL producer only:</strong> If enabled then the <code>populateStatement</code> method from <code>org.apache.camel.component.sql.SqlPrepareStatementStrategy</code> is always invoked, also if there is no expected parameters to be prepared. When this is <code>false</code> then the <code>populateStatement</code> is only invoked if there is 1 or more expected parameters to be set; for example this avoids reading the message body/headers for SQL queries with no parameters. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>separator</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>char</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>,</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11.1:</strong> The separator to use when parameter values is
  taken from message body (if the body is a String type), to be inserted at # placeholders. Notice if you use named parameters, then a <code>Map</code> type is used instead. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>outputType</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>SelectList</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12.0:</strong> Make the output of consumer or producer to <code>SelectList</code> as List of Map, or <code>SelectOne</code> as single Java object in the following way:<br clear="none">
 a) If the query has only single column, then that JDBC Column object is returned. (such as <code>SELECT COUNT( * ) FROM PROJECT</code> will return a Long object.<br clear="none">
 b) If the query has more than one column, then it will return a Map of that result.<br clear="none">
@@ -13938,6 +13948,11 @@ assertEquals(&quot;Linux&quot;, row.get(
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[   from(&quot;direct:projects&quot;)
      .to(&quot;sql:select * from projects where license = :#lic and id &gt; :#min order by id&quot;)
 ]]></script>
+</div></div><h4 id="BookComponentAppendix-Usingexpressionparameters">Using expression parameters</h4><p><strong>Available as of Camel 2.14</strong></p><p>In the given route below, we want to get all the project from the database. It uses the body of the exchange for defining the license and uses the value of a property as the second parameter.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[from(&quot;direct:projects&quot;)
+  .setBody(constant(&quot;ASF&quot;))
+  .setProperty(&quot;min&quot;, constant(123))
+  .to(&quot;sql:select * from projects where license = :#${body} and id &gt; :#${property.min} order by id&quot;)]]></script>
 </div></div><h3 id="BookComponentAppendix-UsingtheJDBCbasedidempotentrepository">Using the JDBC based idempotent repository</h3><p><strong>Available as of Camel 2.7</strong>: In this section we will use the JDBC based idempotent repository.</p>    <div class="aui-message success shadowed information-macro">
                     <p class="title">Abstract class</p>
                             <span class="aui-icon icon-success">Icon</span>
@@ -14726,7 +14741,7 @@ Note: from <strong>Camel 2.9</strong> a 
 </div></div><p>From Camel 2.10.4 onwards we have made this easier as Camel will use the prefix from the endpoint configuration as the default prefix. So from Camel 2.10.4 onwards you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;xsl:include href=&quot;staff_template.xsl&quot;/&gt;
 ]]></script>
-</div></div><p>Which will load the staff_template.xsl resource from the file system, as the endpoint was configured with "file:" as prefix.<br clear="none"> You can still though explicit configure a prefix, and then mix and match. And have both file and classpath loading. But that would be unusual, as most people either use file or classpath based resources.</p><h3 id="BookComponentAppendix-Dynamicstylesheets">Dynamic stylesheets</h3><p><strong>Available as of Camel 2.9</strong><br clear="none"> Camel provides the <code>CamelXsltResourceUri</code> header which you can use to define a stylesheet to use instead of what is configured on the endpoint URI. This allows you to provide a dynamic stylesheet at runtime.</p><h3 id="BookComponentAppendix-NotesonusingXSLTandJavaVersions">Notes on using XSLT and Java Versions</h3><p>Here are some observations from Sameer, a Camel user, which he kindly shared with us:</p><blockquote><p>In case anybody faces issues with the XSLT endpoint please rev
 iew these points.</p><p>I was trying to use an xslt endpoint for a simple transformation from one xml to another using a simple xsl. The output xml kept appearing (after the xslt processor in the route) with outermost xml tag with no content within.</p><p>No explanations show up in the DEBUG logs. On the TRACE logs however I did find some error/warning indicating that the XMLConverter bean could no be initialized.</p><p>After a few hours of cranking my mind, I had to do the following to get it to work (thanks to some posts on the users forum that gave some clue):</p><p>1. Use the transformerFactory option in the route <code>("xslt:my-transformer.xsl?transformerFactory=tFactory")</code> with the <code>tFactory</code> bean having bean defined in the spring context for <code>class="org.apache.xalan.xsltc.trax.TransformerFactoryImpl"</code>.<br clear="none"> 2. Added the Xalan jar into my maven pom.</p><p>My guess is that the default xml parsing mechanism supplied within the JDK (I am u
 sing 1.6.0_03) does not work right in this context and does not throw up any error either. When I switched to Xalan this way it works. This is not a Camel issue, but might need a mention on the xslt component page.</p><p>Another note, jdk 1.6.0_03 ships with JAXB 2.0 while Camel needs 2.1. One workaround is to add the 2.1 jar to the <code>jre/lib/endorsed</code> directory for the jvm or as specified by the container.</p><p>Hope this post saves newbie Camel riders some time.</p></blockquote><p></p><h3 id="BookComponentAppendix-SeeAlso.71">See Also</h3>
+</div></div><p>Which will load the staff_template.xsl resource from the file system, as the endpoint was configured with "file:" as prefix.<br clear="none"> You can still though explicit configure a prefix, and then mix and match. And have both file and classpath loading. But that would be unusual, as most people either use file or classpath based resources.</p><h3 id="BookComponentAppendix-Dynamicstylesheets">Dynamic stylesheets</h3><p>To provide a dynamic stylesheet at runtime you can define a dynamic URI. See&#160;<a shape="rect" href="how-to-use-a-dynamic-uri-in-to.html">How to use a dynamic URI in to()</a> for more information.</p><p><strong>Available as of Camel 2.9 (removed in 2.11.4, 2.12.3 and 2.13.0)</strong><br clear="none"> Camel provides the <code>CamelXsltResourceUri</code> header which you can use to define a stylesheet to use instead of what is configured on the endpoint URI. This allows you to provide a dynamic stylesheet at runtime.</p><h3 id="BookComponentAppendix
 -NotesonusingXSLTandJavaVersions">Notes on using XSLT and Java Versions</h3><p>Here are some observations from Sameer, a Camel user, which he kindly shared with us:</p><blockquote><p>In case anybody faces issues with the XSLT endpoint please review these points.</p><p>I was trying to use an xslt endpoint for a simple transformation from one xml to another using a simple xsl. The output xml kept appearing (after the xslt processor in the route) with outermost xml tag with no content within.</p><p>No explanations show up in the DEBUG logs. On the TRACE logs however I did find some error/warning indicating that the XMLConverter bean could no be initialized.</p><p>After a few hours of cranking my mind, I had to do the following to get it to work (thanks to some posts on the users forum that gave some clue):</p><p>1. Use the transformerFactory option in the route <code>("xslt:my-transformer.xsl?transformerFactory=tFactory")</code> with the <code>tFactory</code> bean having bean defined i
 n the spring context for <code>class="org.apache.xalan.xsltc.trax.TransformerFactoryImpl"</code>.<br clear="none"> 2. Added the Xalan jar into my maven pom.</p><p>My guess is that the default xml parsing mechanism supplied within the JDK (I am using 1.6.0_03) does not work right in this context and does not throw up any error either. When I switched to Xalan this way it works. This is not a Camel issue, but might need a mention on the xslt component page.</p><p>Another note, jdk 1.6.0_03 ships with JAXB 2.0 while Camel needs 2.1. One workaround is to add the 2.1 jar to the <code>jre/lib/endorsed</code> directory for the jvm or as specified by the container.</p><p>Hope this post saves newbie Camel riders some time.</p></blockquote><p></p><h3 id="BookComponentAppendix-SeeAlso.71">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul>
 </div></div>
         </td>