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 2015/05/06 16:19:44 UTC

svn commit: r950295 [1/3] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache camel-2160-release.html jing.html

Author: buildbot
Date: Wed May  6 14:19:44 2015
New Revision: 950295

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/camel-2160-release.html
    websites/production/camel/content/jing.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 Wed May  6 14:19:44 2015
@@ -1334,11 +1334,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.rbtoc1430792413515 {padding: 0px;}
-div.rbtoc1430792413515 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1430792413515 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1430921882060 {padding: 0px;}
+div.rbtoc1430921882060 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1430921882060 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1430792413515">
+/*]]>*/</style></p><div class="toc-macro rbtoc1430921882060">
 <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>
@@ -6267,11 +6267,12 @@ from(&quot;jetty://http://localhost:{{po
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><p>Note that the <a shape="rect" href="msv.html">MSV</a> component can also support RelaxNG XML syntax.</p><h3 id="BookComponentAppendix-URIformat.34">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Note that the <a shape="rect" href="msv.html">MSV</a> component can also support RelaxNG XML syntax.</p><h3 id="BookComponentAppendix-URIformatCamel2.15orolder">URI format Camel 2.15 or older</h3><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[rng:someLocalOrRemoteResource
-rnc:someLocalOrRemoteResource
-]]></script>
-</div></div><p>Where <strong>rng</strong> means use the <a shape="rect" class="external-link" href="http://relaxng.org/" rel="nofollow">RelaxNG XML Syntax</a> whereas <strong>rnc</strong> means use <a shape="rect" class="external-link" href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG Compact Syntax</a>. The following examples show possible URI values</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>rng:foo/bar.rng</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>References the XML file <strong>foo/bar.rng</strong> on the classpath</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>rnc:</p><a shape="rect" class="external-link" href="http://foo.com/bar.rnc" rel="nofollow">http://foo.com/bar.rnc</a></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>References the RelaxNG Compact Syntax file from the URL,</p><a shape="rect" class="external-link" href="http://foo.com/bar.rnc" rel="nofollow">http://foo.com/bar.rnc</a></td></tr></tbody></table></div><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.27">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>compactSyntax</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to validate using RelaxNG compact syntax or not.</p></td></tr></tbody></table>
 </div><h3 id="BookComponentAppendix-Example.3">Example</h3><p>The following <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-jing/src/test/resources/org/apache/camel/component/validator/jing/rnc-context.xml">example</a> shows how to configure a route from the endpoint <strong>direct:start</strong> which then goes to one of two endpoints, either <strong>mock:valid</strong> or <strong>mock:invalid</strong> based on whether or not the XML matches the given <a shape="rect" class="external-link" href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG Compact Syntax</a> schema (which is supplied on the classpath).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+rnc:someLocalOrRemoteResource]]></script>
+</div></div><p>Where <strong>rng</strong> means use the <a shape="rect" class="external-link" href="http://relaxng.org/" rel="nofollow">RelaxNG XML Syntax</a> whereas <strong>rnc</strong> means use <a shape="rect" class="external-link" href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG Compact Syntax</a>. The following examples show possible URI values</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>rng:foo/bar.rng</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>References the XML file <strong>foo/bar.rng</strong> on the classpath</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>rnc:</p><a shape="rect" class="external-link" href="http://foo.com/bar.rnc" rel="nofollow">http://foo.com/bar.rnc</a></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>References the RelaxNG Compact Syntax file from the URL,</p><a shape="rect" class="external-link" href="http://foo.com/bar.rnc" rel="nofollow">http://foo.com/bar.rnc</a></td></tr></tbody></table></div><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-URIformatCamel2.16">URI format Camel 2.16</h3><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[jing:someLocalOrRemoteResource]]></script>
+</div></div><p>From Camel 2.16 the component use jing as name, and you can use the option compactSyntax to turn on either RNG or RNC mode.</p><h3 id="BookComponentAppendix-Options.27">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>compactSyntax</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to validate using RelaxNG compact syntax or not.</p></td></tr></tbody></table></div><h3 id="BookComponentAppendix-Example.3">Example</h3><p>The following <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-jing/src/test/resources/org/apache/camel/compon
 ent/validator/jing/rnc-context.xml">example</a> shows how to configure a route from the endpoint <strong>direct:start</strong> which then goes to one of two endpoints, either <strong>mock:valid</strong> or <strong>mock:invalid</strong> based on whether or not the XML matches the given <a shape="rect" class="external-link" href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG Compact Syntax</a> schema (which is supplied on the classpath).</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;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
     &lt;route&gt;
@@ -6321,7 +6322,7 @@ rnc:someLocalOrRemoteResource
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.35">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.34">URI format</h3><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[jms:[queue:|topic:]destinationName[?options]
 ]]></script>
 </div></div><p>Where <code>destinationName</code> is a JMS queue or topic name. By default, the <code>destinationName</code> is interpreted as a queue name. For example, to connect to the queue, <code>FOO.BAR</code> use:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -6671,7 +6672,7 @@ monitor.start();
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-Sendingtotheendpoint.2">Sending to the endpoint</h3><p>You can store a Java entity bean in a database by sending it to a JPA producer endpoint. The body of the <em>In</em> message is assumed to be an entity bean (that is, a POJO with an <a shape="rect" class="external-link" href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html" rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity beans.</p><p>If the body does not contain one of the previous listed types, put a <a shape="rect" href="message-translator.html">Message Translator</a> in front of the endpoint to perform the necessary conversion first.</p><h3 id="BookComponentAppendix-Consumingfromtheendpoint.2">Consuming from the endpoint</h3><p>Consuming messages from a JPA consumer endpoint removes (or updates) entity beans in the database. This allows you to use a database table as a logical queue: consumers take messages from the queue and then de
 lete/update them to logically remove them from the queue.</p><p>If you do not wish to delete the entity bean when it has been processed (and when routing is done), you can specify <code>consumeDelete=false</code> on the URI. This will result in the entity being processed each poll.</p><p>If you would rather perform some update on the entity to mark it as processed (such as to exclude it from a future query) then you can annotate a method with <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html">@Consumed</a> which will be invoked on your entity bean when the entity bean when it has been processed (and when routing is done).</p><p>From <strong>Camel 2.13</strong> onwards you can use <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/PreConsumed.html">@PreConsumed</a> which will be invoked on your entity bean befor
 e it has been processed (before routing).</p><h3 id="BookComponentAppendix-URIformat.36">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-Sendingtotheendpoint.2">Sending to the endpoint</h3><p>You can store a Java entity bean in a database by sending it to a JPA producer endpoint. The body of the <em>In</em> message is assumed to be an entity bean (that is, a POJO with an <a shape="rect" class="external-link" href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Entity.html" rel="nofollow">@Entity</a> annotation on it) or a collection or array of entity beans.</p><p>If the body does not contain one of the previous listed types, put a <a shape="rect" href="message-translator.html">Message Translator</a> in front of the endpoint to perform the necessary conversion first.</p><h3 id="BookComponentAppendix-Consumingfromtheendpoint.2">Consuming from the endpoint</h3><p>Consuming messages from a JPA consumer endpoint removes (or updates) entity beans in the database. This allows you to use a database table as a logical queue: consumers take messages from the queue and then de
 lete/update them to logically remove them from the queue.</p><p>If you do not wish to delete the entity bean when it has been processed (and when routing is done), you can specify <code>consumeDelete=false</code> on the URI. This will result in the entity being processed each poll.</p><p>If you would rather perform some update on the entity to mark it as processed (such as to exclude it from a future query) then you can annotate a method with <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/Consumed.html">@Consumed</a> which will be invoked on your entity bean when the entity bean when it has been processed (and when routing is done).</p><p>From <strong>Camel 2.13</strong> onwards you can use <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-jpa/apidocs/org/apache/camel/component/jpa/PreConsumed.html">@PreConsumed</a> which will be invoked on your entity bean befor
 e it has been processed (before routing).</p><h3 id="BookComponentAppendix-URIformat.35">URI format</h3><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[jpa:entityClassName[?options]
 ]]></script>
 </div></div><p>For sending to the endpoint, the <em>entityClassName</em> is optional. If specified, it helps the <a shape="rect" href="type-converter.html">Type Converter</a> to ensure the body is of the correct type.</p><p>For consuming, the <em>entityClassName</em> is mandatory.</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.29">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>entityType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>entityClassName</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Overrides the <em>entityClas
 sName</em> from the URI.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>persistenceUnit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The JPA persistence unit used by default.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumeDelete</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>JPA consumer only:</strong> If <code>true</code>, the entity is deleted after it is consumed; if <code>false</code>, the entity is not deleted.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumeLockEntity</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>JPA consumer only:</strong> Specifies whether or not to set a
 n exclusive lock on each entity bean while processing the results from polling.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>flushOnSend</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>JPA producer only:</strong> Flushes the <a shape="rect" class="external-link" href="http://java.sun.com/javaee/5/docs/api/javax/persistence/EntityManager.html" rel="nofollow">EntityManager</a> after the entity bean has been persisted.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maximumResults</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>JPA consumer only:</strong> Set the maximum number of results to retrieve on the <a shape="rect" class="external-link" href="http://java.sun.com/javaee/5/docs/api/javax/persistence/Query.html" rel="nof
 ollow">Query</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>transactionManager</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This option is <a shape="rect" href="registry.html">Registry</a> based which requires the <code>#</code> notation so that the given <code>transactionManager</code> being specified can be looked up properly, e.g. <code>transactionManager=#myTransactionManager</code>. It specifies the transaction manager to use. If none provided, Camel will use a <code>JpaTransactionManager</code> by default. Can be used to set a JTA transaction manager (for integration with an EJB container).</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>500</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA 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>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA 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>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> Set to <code>true</code> to use fixed delay between polls, otherwise fixed 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="conflue
 nceTd"><p><code>maxMessagesPerPoll</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>JPA consumer only:</strong> An integer value to define the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to avoid polling many thousands of messages when starting up the server. Set a value of 0 or negative to disable.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.query</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> To use a custom query when consuming data.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.namedQuery</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA consu
 mer only:</strong> To use a named query when consuming data.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.nativeQuery</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>JPA consumer only:</strong> To use a custom native query when consuming data. You may want to use the option <code>consumer.resultClass</code> also when using native queries.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.parameters</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: JPA consumer only:</strong> This option is <a shape="rect" href="registry.html">Registry</a> based which requires the <code>#</code> notation. This key/value mapping is used for building the query parameters. It's is expected to be of the generic type <code>java.util.Map&lt
 ;String, Object&gt;</code> where the keys are the named parameters of a given JPA query and the values are their corresponding effective values you want to select for.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.resultClass</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.7: JPA consumer only:</strong> Defines the type of the returned payload (we will call <code>entityManager.createNativeQuery(nativeQuery, resultClass)</code> instead of <code>entityManager.createNativeQuery(nativeQuery)</code>). Without this option, we will return an object array. Only has an affect when using in conjunction with native query when consuming data.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.transacted</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p><strong>Camel 2.7.5/2.8.3/2.9: JPA consumer only:</strong> Whether to run the consumer in transacted mode, by which all messages will either commit or rollback, when the entire batch has been processed. The default behavior (false) is to commit all the previously successfully processed messages, and only rollback the last failed message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.lockModeType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>WRITE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.2/2.12:</strong> To configure the lock mode on the consumer. The possible values is defined in the enum <code>javax.persistence.LockModeType</code>. The default value is changed to <code>PESSIMISTIC_WRITE</code> since <strong>Camel 2.13</strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.SkipLockedEntity</code></p></td><td colsp
 an="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.13:</strong> To configure whether to use NOWAIT on lock and silently skip the entity.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>usePersist</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.5: JPA producer only:</strong> Indicates to use <code>entityManager.persist(entity)</code> instead of <code>entityManager.merge(entity)</code>. Note: <code>entityManager.persist(entity)</code> doesn't work for detached entities (where the EntityManager has to execute an UPDATE instead of an INSERT query)!</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>joinTransaction</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.12.3:</strong> camel-jpa will join transaction by default from Camel 2.12 onwards. You can use this option to turn this off, for example if you use LOCAL_RESOURCE and join transaction doesn't work with your JPA provider. This option can also be set globally on the <code>JpaComponent</code>, instead of having to set it on all endpoints.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p class="p1">usePassedInEntityManager</p></td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.12.4/2.13.1 JPA producer only:</strong> If set to true, then Camel will use the EntityManager from the header<p class="p1">JpaConstants.ENTITYMANAGER instead of the configured entity manager on the component/endpoint. This allows end users to control which entity manager will be in use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">sharedEntityManager</td><td colspa
 n="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong>&#160;whether to use spring's SharedEntityManager for the consumer/producer. A good idea may be to set joinTransaction=false if this option is true, as sharing the entity manager and mixing transactions is not a good idea.</td></tr></tbody></table></div><h3 id="BookComponentAppendix-MessageHeaders.10">Message Headers</h3><p>Camel adds the following message headers to the exchange:</p><div class="confluenceTableSmall"><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>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>CamelJpaTemplate</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>JpaTemplate</code></p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Not supported anymore since Camel 2.12:</strong> The <code>JpaTemplate</code> object that is used to access the entity bean. You need this object in some situations, for instance in a type converter or when you are doing some custom processing. See <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-5932">CAMEL-5932</a> for the reason why the support for this header has been dropped.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelEntityManager</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>EntityManager</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12: JPA consumer / Camel 2.12.2: JPA producer:</strong> The JPA <code>EntityManager</code> object being used by <code>JpaConsumer</code> or <code>JpaProducer</code>.</p></td></tr></tbody></table></div></div><h3 id="BookComponentAppendix-Configuri
 ngEntityManagerFactory">Configuring EntityManagerFactory</h3><p>Its strongly advised to configure the JPA component to use a specific <code>EntityManagerFactory</code> instance. If failed to do so each <code>JpaEndpoint</code> will auto create their own instance of <code>EntityManagerFactory</code> which most often is not what you want.</p><p>For example, you can instantiate a JPA component that references the <code>myEMFactory</code> entity manager factory, as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -6791,7 +6792,7 @@ but the following listed types were not
 ]]></script>
 </div></div>
 
-<h3 id="BookComponentAppendix-URIformat.37">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.36">URI format</h3>
 
 <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[
@@ -6879,7 +6880,7 @@ from(&quot;jt400://username:password@sys
 </div></div>
 
 <h3 id="BookComponentAppendix-SeeAlso.35">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> <h2 id="BookComponentAppendix-Language">Language</h2><p><strong>Available as of Camel 2.5</strong></p><p>The language component allows you to send <a shape="rect" href="exchange.html">Exchange</a> to an endpoint which executes a script by any of the supported <a shape="rect" href="languages.html">Languages</a> in Camel.<br clear="none"> By having a component to execute language scripts, it allows more dynamic routing capabilities. For example by using the <a shape="rect" href="routing-slip.html">Routing Slip</a> or <a shape="rect" href="dynamic-router.html">Dynamic Router</a> EIPs you can send messages to <code>language</code> endpoints where the script is dynamic defined as well.</p><p>This component is provide
 d out of the box in <code>camel-core</code> and hence no additional JARs is needed. You only have to include additional Camel components if the language of choice mandates it, such as using <a shape="rect" href="groovy.html">Groovy</a> or <a shape="rect" href="javascript.html">JavaScript</a> languages.</p><h3 id="BookComponentAppendix-URIformat.38">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<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> <h2 id="BookComponentAppendix-Language">Language</h2><p><strong>Available as of Camel 2.5</strong></p><p>The language component allows you to send <a shape="rect" href="exchange.html">Exchange</a> to an endpoint which executes a script by any of the supported <a shape="rect" href="languages.html">Languages</a> in Camel.<br clear="none"> By having a component to execute language scripts, it allows more dynamic routing capabilities. For example by using the <a shape="rect" href="routing-slip.html">Routing Slip</a> or <a shape="rect" href="dynamic-router.html">Dynamic Router</a> EIPs you can send messages to <code>language</code> endpoints where the script is dynamic defined as well.</p><p>This component is provide
 d out of the box in <code>camel-core</code> and hence no additional JARs is needed. You only have to include additional Camel components if the language of choice mandates it, such as using <a shape="rect" href="groovy.html">Groovy</a> or <a shape="rect" href="javascript.html">JavaScript</a> languages.</p><h3 id="BookComponentAppendix-URIformat.37">URI format</h3><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[language://languageName[:script][?options]
 ]]></script>
 </div></div><p>And from Camel 2.11 onwards you can refer to an external resource for the script using same notation as supported by the other <a shape="rect" href="language.html">Language</a>s in Camel</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -6934,7 +6935,7 @@ from(&quot;direct:start&quot;)
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.39">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.38">URI format</h3><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[ldap:ldapServerBean[?options]
 ]]></script>
 </div></div><p>The <em>ldapServerBean</em> portion of the URI refers to a <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/directory/DirContext.html" rel="nofollow">DirContext</a> bean in the registry. The LDAP component only supports producer endpoints, which means that an <code>ldap</code> URI cannot appear in the <code>from</code> at the start of a route.</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.30">Options</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>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>base</code></p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><code>ou=system</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The base DN for searches.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>scope</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>subtree</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies how deeply to search the tree of entries, starting at the base DN. Value can be <code>object</code>, <code>onelevel</code>, or <code>subtree</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>pageSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>no paging used</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.6:</strong> When specified the ldap module uses paging to retrieve all results (most LDAP Servers throw an exception when trying to retrieve more than 1000 entries in one query). To be able to use this a LdapContext (subclass of 
 DirContext) has to be passed in as ldapServerBean (otherwise an exception is thrown)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>returnedAttributes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>depends on LDAP Server (could be all or none)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.6:</strong> Comma-separated list of attributes that should be set in each entry of the result</p></td></tr></tbody></table></div></div><h3 id="BookComponentAppendix-Result.1">Result</h3><p>The result is returned in the Out body as a <code>ArrayList&lt;javax.naming.directory.SearchResult&gt;</code> object.</p><h3 id="BookComponentAppendix-DirContext">DirContext</h3><p>The URI, <code>ldap:ldapserver</code>, references a Spring bean with the ID, <code>ldapserver</code>. The <code>ldapserver</code> bean may be defined as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -7143,7 +7144,7 @@ public class CustomSocketFactory extends
 }]]></script>
 </div></div><p>&#160;</p><p></p><h3 id="BookComponentAppendix-SeeAlso.37">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> <h2 id="BookComponentAppendix-LogComponent">Log Component</h2><p>The <strong>log:</strong> component logs message exchanges to the underlying logging mechanism.</p><p>Camel uses <a shape="rect" class="external-link" href="http://www.slf4j.org/" rel="nofollow">sfl4j</a> which allows you to configure logging via, among others:
-</p><ul><li><a shape="rect" class="external-link" href="http://logging.apache.org/log4j/">Log4j</a></li><li><a shape="rect" class="external-link" href="http://logback.qos.ch/" rel="nofollow">Logback</a></li><li><a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/package-summary.html" rel="nofollow">JDK Util Logging logging</a></li></ul><h3 id="BookComponentAppendix-URIformat.40">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</p><ul><li><a shape="rect" class="external-link" href="http://logging.apache.org/log4j/">Log4j</a></li><li><a shape="rect" class="external-link" href="http://logback.qos.ch/" rel="nofollow">Logback</a></li><li><a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/package-summary.html" rel="nofollow">JDK Util Logging logging</a></li></ul><h3 id="BookComponentAppendix-URIformat.39">URI format</h3><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[log:loggingCategory[?options]
 ]]></script>
 </div></div><p>Where <strong>loggingCategory</strong> is the name of the logging category to use. You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p>    <div class="aui-message hint shadowed information-macro">
@@ -7233,7 +7234,7 @@ Headers:{breadcrumbId=ID-machine-local-5
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.41">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.40">URI format</h3><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[lucene:searcherName:insert[?options]
 lucene:searcherName:query[?options]
 ]]></script>
@@ -7348,7 +7349,7 @@ CamelContext context = new DefaultCamelC
                             <p>You can use a mock framework for unit testing, which allows you to test without the need for a real mail server. However you should remember to not include the mock-mail when you go into production or other environments where you need to send mails to a real mail server. Just the presence of the mock-javamail.jar on the classpath means that it will kick in and avoid sending the mails.</p>
                     </div>
     </div>
-<h3 id="BookComponentAppendix-URIformat.42">URI format</h3><p>Mail endpoints can have one of the following URI formats (for the protocols, SMTP, POP3, or IMAP, respectively):</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookComponentAppendix-URIformat.41">URI format</h3><p>Mail endpoints can have one of the following URI formats (for the protocols, SMTP, POP3, or IMAP, respectively):</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[smtp://[username@]host[:port][?options]
 pop3://[username@]host[:port][?options]
 imap://[username@]host[:port][?options]
@@ -7580,7 +7581,7 @@ SearchTerm term = builder.build();
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.43">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.42">URI format</h3><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[mina:tcp://hostname[:port][?options]
 mina:udp://hostname[:port][?options]
 mina:vm://hostname[:port][?options]
@@ -7764,7 +7765,7 @@ assertEquals(&quot;Bye World&quot;, resp
     </div>
  
 
-<h3 id="BookComponentAppendix-URIformat.44">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.43">URI format</h3>
 
 <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[
@@ -8257,7 +8258,7 @@ mock.allMessages().arrives().noLaterThan
 
 <p>Note that the <a shape="rect" href="jing.html">Jing</a> component also supports <a shape="rect" class="external-link" href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG Compact Syntax</a></p>
 
-<h3 id="BookComponentAppendix-URIformat.45">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.44">URI format</h3>
 
 <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[
@@ -8317,7 +8318,7 @@ msv:http://acme.com/cheese.rng
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.46">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.45">URI format</h3><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[mybatis:statementName[?options]
 ]]></script>
 </div></div><p>Where <strong>statementName</strong> is the statement name in the MyBatis XML mapping file which maps to the query, insert, update or delete operation you wish to evaluate.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><p>This component will by default load the MyBatis SqlMapConfig file from the root of the classpath with the expected name of <code>SqlMapConfig.xml</code>.<br clear="none"> If the file is located in another location, you will need to configure the <code>configurationUri</code> option on the <code>MyBatisComponent</code> component.</p><h3 id="BookComponentAppendix-Options.36">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><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>consumer.onConsume</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>Statements to run after consuming. Can be used, for example, to update rows after they have been consumed and processed in Camel. See sample later. Multiple statements can be separated with commas.</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>If <code>true</code> each row returned when polling will be processed individually. If
  <code>false</code> the entire <code>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>Sets whether empty result sets should be routed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>statementType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>StatementType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Mandatory to specify for the producer to control which kind of operation to invoke. The enum values are: <code>SelectOne</code>, <code>SelectList</code>, <code>Insert</code>, <code>InsertList</code>, <code>Update</co
 de>, <code>UpdateList</code>, <code>Delete</code>, and <code>DeleteList</code>. <strong>Notice:</strong> <code>InsertList</code> is available as of Camel 2.10, and <code>UpdateList</code>, <code>DeleteList</code> is available as of Camel 2.11.</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>This option is intended to split results returned by the database pool into the batches and deliver them in multiple exchanges. This integer defines the maximum messages to deliver in single exchange. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disable it.</p></td></tr><tr><td colspan="1" rowspan="1" class="
 confluenceTd"><p><code>executorType</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> The executor type to be used while executing statements. The supported values are: simple, reuse, batch. By default, the value is not specified and is equal to what MyBatis uses, i.e. <strong>simple</strong>. <br clear="none" class="atl-forced-newline"> <strong>simple</strong> executor does nothing special. <br clear="none" class="atl-forced-newline"> <strong>reuse</strong> executor reuses prepared statements. <br clear="none" class="atl-forced-newline"> <strong>batch</strong> executor reuses statements and batches updates.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>outputHeader</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><
 td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15:</strong><span style="color: rgb(0,0,0);">&#160;To store the result as a header instead of the message body. This allows to preserve the existing message body as-is.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>inputHeader</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15: &#160;</strong>"inputHeader" parameter to use a header value as input to the component instead of the body.</td></tr></tbody></table></div></div><h3 id="BookComponentAppendix-MessageHeaders.13">Message Headers</h3><p>Camel will populate the result message, either IN or OUT with a header with the statement used:</p><div class="confluenceTableSmall"><div class="table-wrap"><table c
 lass="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</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>CamelMyBatisStatementName</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 <strong>statementName</strong> used (for example: insertAccount).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMyBatisResult</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Object</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>response</strong> returned from MtBatis in any of the operations. For instance an <code>INSERT</code> could return the auto-generated key, or number of rows etc.</p></td></tr></tbody></table></div
 ></div><h3 id="BookComponentAppendix-MessageBody.3">Message Body</h3><p>The response from MyBatis will only be set as the body if it's a <code>SELECT</code> statement. That means, for example, for <code>INSERT</code> statements Camel will not replace the body. This allows you to continue routing and keep the original body. The response from MyBatis is always stored in the header with the key <code>CamelMyBatisResult</code>.</p><h3 id="BookComponentAppendix-Samples.10">Samples</h3><p>For example if you wish to consume beans from a JMS queue and insert them into a database you could do the following:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -8501,7 +8502,7 @@ from(&quot;mybatis:selectUnprocessedAcco
 </div></div>
 
 
-<h3 id="BookComponentAppendix-URIformat.47">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.46">URI format</h3>
 
 <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[
@@ -8578,7 +8579,7 @@ Camel also provides a <a shape="rect" hr
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.48">URI format</h3><p>The URI scheme for a netty component is as follows</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.47">URI format</h3><p>The URI scheme for a netty component is as follows</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[netty:tcp://localhost:99999[?options]
 netty:udp://remotehost:99999/[?options]
 ]]></script>
@@ -8914,7 +8915,7 @@ to(&quot;nmr:MyServiceEndpoint&quot;)
 
 <p><span class="confluence-anchor-link" id="BookComponentAppendix-URI-format"></span></p>
 
-<h3 id="BookComponentAppendix-URIformat.49">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.48">URI format</h3>
 
 <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[
@@ -9009,7 +9010,7 @@ public class ExchangeUsingNMRTest extend
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.50">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.49">URI format</h3><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[quartz://timerName?options
 quartz://groupName/timerName?options
 quartz://groupName/timerName?cron=expression
@@ -9061,7 +9062,7 @@ from(&quot;quartz://myGroup/myTimerName?
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.51">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.50">URI format</h3><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[quickfix:configFile[?sessionID=sessionID&amp;lazyCreateEngine=true|false]
 ]]></script>
 </div></div><p>The <strong>configFile</strong> is the name of the QuickFIX/J configuration to use for the FIX engine (located as a resource found in your classpath). The optional <strong>sessionID</strong> identifies a specific FIX session. The format of the sessionID is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -9223,7 +9224,7 @@ TargetCompID=YOUR_TARGET
     filter(header(QuickfixjEndpoint.MESSAGE_TYPE_KEY).isEqualTo(MsgType.EXECUTION_REPORT)).
     bean(new MyTradeExecutionProcessor());
 ]]></script>
-</div></div><h2 id="BookComponentAppendix-QuickFIX/JComponentPriortoCamel2.5">QuickFIX/J Component Prior to Camel 2.5</h2><p>The <strong>quickfix</strong> component is an implementation of the <a shape="rect" class="external-link" href="http://www.quickfixj.org/" rel="nofollow">QuickFIX/J</a> engine for Java . This engine allows to connect to a FIX server which is used to exchange financial messages according to <a shape="rect" class="external-link" href="http://www.fixprotocol.org/" rel="nofollow">FIX protocol</a> standard.</p><p><strong>Note:</strong> The component can be used to send/receives messages to a FIX server.</p><h3 id="BookComponentAppendix-URIformat.52">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h2 id="BookComponentAppendix-QuickFIX/JComponentPriortoCamel2.5">QuickFIX/J Component Prior to Camel 2.5</h2><p>The <strong>quickfix</strong> component is an implementation of the <a shape="rect" class="external-link" href="http://www.quickfixj.org/" rel="nofollow">QuickFIX/J</a> engine for Java . This engine allows to connect to a FIX server which is used to exchange financial messages according to <a shape="rect" class="external-link" href="http://www.fixprotocol.org/" rel="nofollow">FIX protocol</a> standard.</p><p><strong>Note:</strong> The component can be used to send/receives messages to a FIX server.</p><h3 id="BookComponentAppendix-URIformat.51">URI format</h3><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[quickfix-server:config file
 quickfix-client:config file
 ]]></script>
@@ -9250,7 +9251,7 @@ quickfix-client:config file
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.53">URI format</h3><p>Since the URI scheme for a printer has not been standardized (the nearest thing to a standard being the IETF print standard) and therefore not uniformly applied by vendors, we have chosen <strong>"lpr"</strong> as the scheme.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.52">URI format</h3><p>Since the URI scheme for a printer has not been standardized (the nearest thing to a standard being the IETF print standard) and therefore not uniformly applied by vendors, we have chosen <strong>"lpr"</strong> as the scheme.</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[lpr://localhost/default[?options]
 lpr://remotehost:port/path/to/printer[?options]
 ]]></script>
@@ -9288,7 +9289,7 @@ lpr://remotehost:port/path/to/printer[?o
            &quot;&amp;flavor=DocFlavor.INPUT_STREAM&quot;)
     }};
 ]]></script>
-</div></div> <h2 id="BookComponentAppendix-PropertiesComponent">Properties Component</h2><p><strong>Available as of Camel 2.3</strong></p><h3 id="BookComponentAppendix-URIformat.54">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div> <h2 id="BookComponentAppendix-PropertiesComponent">Properties Component</h2><p><strong>Available as of Camel 2.3</strong></p><h3 id="BookComponentAppendix-URIformat.53">URI format</h3><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[properties:key[?options]
 ]]></script>
 </div></div><p>Where <strong>key</strong> is the key for the property to lookup</p><h3 id="BookComponentAppendix-Options.41">Options</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>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>cache</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>Whether or not to cache loaded properties.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>locations</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>A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and <strong>only</strong> use the locations from this option.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>encoding</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14.3/2.15.1:</strong> To use a specific charset to load the properties, such as UTF-8. By default ISO-8859-1 (latin1) is used.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreMissingLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" ro
 wspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether to silently ignore if a location cannot be located, such as a properties file not found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertyPrefix</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.9</strong> Optional prefix prepended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertySuffix</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.9</strong> Optional su
 ffix appended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fallbackToUnaugmentedProperty</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.9</strong> If true, first attempt resolution of property name augmented with <code>propertyPrefix</code> and <code>propertySuffix</code> before falling back the plain property name specified. If false, only the augmented property name is searched.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>{{</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the b
 eginning of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>suffixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>}}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the end of a property token.</p></td></tr></tbody></table></div></div>    <div class="aui-message success shadowed information-macro">
@@ -9907,7 +9908,7 @@ export $FOO_SERVICE_PORT=8888]]></script
 
 <p>The <strong>ref:</strong> component is used for lookup of existing endpoints bound in the <a shape="rect" href="registry.html">Registry</a>.</p>
 
-<h3 id="BookComponentAppendix-URIformat.55">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.54">URI format</h3>
 
 <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[
@@ -9987,7 +9988,7 @@ ref:someName[?options]
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-URIformat.56">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-URIformat.55">URI format</h3><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[restlet:restletUrl[?options]
 ]]></script>
 </div></div><p>Format of restletUrl:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -10178,7 +10179,7 @@ from(&quot;restlet:http://localhost:&quo
 ]]></script>
 </div></div>
 
-<h3 id="BookComponentAppendix-URIformat.57">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.56">URI format</h3>
 
 <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[
@@ -10248,7 +10249,7 @@ from(endpoint).to(&quot;pojo:bar&quot;);
                             <p>Camel-rss internally uses a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/rome-1.0/">patched version</a> of <a shape="rect" class="external-link" href="http://rometools.github.io/rome/" rel="nofollow">ROME</a> hosted on ServiceMix to solve some OSGi <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/SMX4-510">class loading issues</a>.</p>
                     </div>
     </div>
-<h3 id="BookComponentAppendix-URIformat.58">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookComponentAppendix-URIformat.57">URI format</h3><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[rss:rssUri
 ]]></script>
 </div></div><p>Where <code>rssUri</code> is the URI to the RSS feed to poll.</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.44">Options</h3><div class="confluenceTableSmall">
@@ -10297,7 +10298,7 @@ public static class FilterBean {
                             <p>The <a shape="rect" href="direct.html">Direct</a> component provides synchronous invocation of any consumers when a producer sends a message exchange.</p>
                     </div>
     </div>
-<h3 id="BookComponentAppendix-URIformat.59">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookComponentAppendix-URIformat.58">URI format</h3><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[seda:someName[?options]
 ]]></script>
 </div></div><p>Where <strong>someName</strong> can be any string that uniquely identifies the endpoint within the current <a shape="rect" href="camelcontext.html">CamelContext</a>.</p><p>You can append query options to the URI in the following format: <code>?option=value&amp;option=value&amp;&#8230;</code></p><h3 id="BookComponentAppendix-Options.45">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> Since </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>size</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The maximum
  capacity of the SEDA queue (i.e., the number of messages it can hold). The default value in Camel 2.2 or older is <code>1000</code>. From Camel 2.3 onwards, the size is unbounded by default. <strong>Notice:</strong> Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created. From <strong>Camel 2.11</strong> onwards, a validation is taken place to ensure if using mixed queue sizes for the same queue name, Camel would detect this and fail creating the endpoint. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>concurrentConsumers</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>1</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Number of concurrent threads processin
 g exchanges. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>waitForTaskToComplete</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>IfReplyExpected</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: <code>Always</code>, <code>Never</code> or <code>IfReplyExpected</code>. The first two values are self-explanatory. The last value, <code>IfReplyExpected</code>, will only wait if the message is <a shape="rect" href="request-reply.html">Request Reply</a> based. The default option is <code>IfReplyExpected</code>. See more information about <a shape="rect" href="async.html">Async</a> messaging. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>timeout</code> </p></td><td colspan=
 "1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>30000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. See <code>waitForTaskToComplete</code> and <a shape="rect" href="async.html">Async</a> for more details. In <strong>Camel 2.2</strong> you can now disable timeout by using 0 or a negative value. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>multipleConsumers</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.2</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Specifies whether multiple consumers are allowed. If enabled, you can use <a shape="rect" href="seda.html">SEDA</a> for <a shape="rect" class="external-link" href="http://en.wikipe
 dia.org/wiki/Publish%E2%80%93subscribe_pattern" rel="nofollow">Publish-Subscribe</a> messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>limitConcurrentConsumers</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.3</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Whether to limit the number of <code>concurrentConsumers</code> to the maximum of <code>500</code>. By default, an exception will be thrown if a SEDA endpoint is configured with a greater number. You can disable that check by turning this option off. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>blockWhenFull</code> </p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p> <strong>2.9</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted.  By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>queueSize</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.9</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Component only:</strong> The maximum default size (capacity of the number of messages it can hold) of the SEDA queue. This option is used if <code>size</code> is not in use. </p></td></tr><tr><td c
 olspan="1" rowspan="1" class="confluenceTd"><p> <code>pollTimeout</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.9.3</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>1000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>Consumer only</em> &#8211; The timeout used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>purgeWhenStopping</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.11.1</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is di
 scarded. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>queue</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.12.0</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> null </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Define the queue instance which will be used by seda endpoint </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>queueFactory</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.12.0</strong> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> null </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Define the QueueFactory which could create the queue for the seda endpoint </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>failIfNoConsumers</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>2.12.0</strong> </p></td><td colspan="1" rowspan="1" class="co
 nfluenceTd"><p> false </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Whether the producer should fail by throwing an exception, when sending to a SEDA queue with no active consumers. </p></td></tr></tbody></table></div>
@@ -10402,7 +10403,7 @@ int size = seda.getExchanges().size();
                             <p>Servlet is stream based, which means the input it receives is submitted to Camel as a stream. That means you will only be able to read the content of the stream <strong>once</strong>. If you find a situation where the message body appears to be empty or you need to access the data multiple times (eg: doing multicasting, or redelivery error handling) you should use <a shape="rect" href="stream-caching.html">Stream caching</a> or convert the message body to a <code>String</code> which is safe to be read multiple times.</p>
                     </div>
     </div>
-<h3 id="BookComponentAppendix-URIformat.60">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookComponentAppendix-URIformat.59">URI format</h3><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[servlet://relative_path[?options]
 ]]></script>
 </div></div><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.46">Options</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>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>httpBindingRef</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to an <code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect" href="registry.html">Registry</a>. A <code>HttpBinding</code> implementation can be used to customize how to write a response.</p></td></tr><tr><td colspan="1" rowspan="1" cl
 ass="confluenceTd"><code><span>httpBinding</span></code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Reference to an </span><code>org.apache.camel.component.http.HttpBinding</code><span> in the </span><a shape="rect" href="registry.html">Registry</a><span>. A </span><code>HttpBinding</code><span> implementation can be used to customize how to write a response.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>matchOnUriPrefix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not the <code>CamelServlet</code> should try to find a target consumer by matching the URI prefix, if no exact match is found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>servletName</code></p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p><code>CamelServlet</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the servlet name that the servlet endpoint will bind to. This name should match the name you define in <code>web.xml</code> file.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span style="color: rgb(0,0,0);">httpMethodRestrict</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.11:</strong><span style="color: rgb(0,0,0);">&#160;</span><strong>Consumer only</strong><span style="color: rgb(0,0,0);">: Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc.&#160;</span><span style="color: rgb(0,0,0);">From&#160;</span><strong>Camel 2.15 </strong><span style="color: rgb(0,0,0);">onwards multiple methods can be specified separated by comma.</span></td></tr></tbody></table></div></div><h3 id="BookComponentAppendix-MessageH
 eaders.17">Message Headers</h3><p>Camel will apply the same Message Headers as the <a shape="rect" href="http.html">HTTP</a> component.</p><p>Camel will also populate <strong>all</strong> <code>request.parameter</code> and <code>request.headers</code>. For example, if a client request has the URL, <code><a shape="rect" class="external-link" href="http://myserver/myserver?orderid=123" rel="nofollow">http://myserver/myserver?orderid=123</a></code>, the exchange will contain a header named <code>orderid</code> with the value 123.</p><h3 id="BookComponentAppendix-Usage.5">Usage</h3><p>You can consume only from endpoints generated by the Servlet component. Therefore, it should be used only as input into your Camel routes. To issue HTTP requests against other HTTP endpoints, use the <a shape="rect" href="http.html">HTTP Component</a></p><h3 id="BookComponentAppendix-PuttingCamelJARsintheappserverbootclasspath">Putting Camel JARs in the app server boot classpath</h3><p>If you put the Camel
  JARs such as <code>camel-core</code>, <code>camel-servlet</code>, etc. in the boot classpath of your application server (eg usually in its lib directory), then mind that the servlet mapping list is now shared between multiple deployed Camel application in the app server.</p><p>Mind that putting Camel JARs in the boot classpath of the application server is generally not best practice!</p><p>So in those situations you <strong>must</strong> define a custom and unique servlet name in each of your Camel application, eg in the <code>web.xml</code> define:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -10810,7 +10811,7 @@ sec-level1 = zone1:readonly:*
 ]]></script>
 </div></div>
 
-<h3 id="BookComponentAppendix-URIformat.61">URI format</h3>
+<h3 id="BookComponentAppendix-URIformat.60">URI format</h3>
 
 <p>The URI scheme for a sip endpoint is as follows:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -10900,7 +10901,7 @@ protected RouteBuilder createRouteBuilde
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-SMSlimitations">SMS limitations</h3><p>SMS is neither reliable or secure.&#160; Users who require reliable and secure delivery may want to consider using the XMPP or SIP components instead, combined with a smartphone app supporting the chosen protocol.</p><ul><li>Reliability: although the SMPP standard offers a range of feedback mechanisms to indicate errors, non-delivery and confirmation of delivery it is not uncommon for mobile networks to hide or simulate these responses.&#160; For example, some networks automatically send a delivery confirmation for every message even if the destination number is invalid or not switched on.&#160; Some networks silently drop messages if they think they are spam.&#160; Spam detection rules in the network may be very crude, sometimes more than 100 messages per day from a single sender may be considered spam.</li><li>Security: there is basic encryption for the last hop from the radio tower down to the recipi
 ent handset.&#160; SMS messages are not encrypted or authenticated in any other part of the network.&#160; Some operators allow staff in retail outlets or call centres to browse through the SMS message histories of their customers.&#160; Message sender identity can be easily forged.&#160; Regulators and even the mobile telephone industry itself has cautioned against the use of SMS in two-factor authentication schemes and other purposes where security is important.</li></ul><p>While the Camel component makes it as easy as possible to send messages to the SMS network, it can not offer an easy solution to these problems.</p><h2 id="BookComponentAppendix-Datacoding,alphabetandinternationalcharactersets">Data coding, alphabet and international character sets</h2><p>Data coding and alphabet can be specified on a per-message basis.&#160; Default values can be specified for the endpoint.&#160; It is important to understand the relationship between these options and the way the component act
 s when more than one value is set.</p><p>Data coding is an 8 bit field in the SMPP wire format.</p><p>Alphabet corresponds to bits 0-3 of the data coding field.&#160; For some types of message, where a message class is used (by setting bit 5 of the data coding field), the lower two bits of the data coding field are not interpreted as alphabet and only bits 2 and 3 impact the alphabet.</p><p>Furthermore, current version of the JSMPP library only seems to support bits 2 and 3, assuming that bits 0 and 1 are used for message class.&#160; This is why the Alphabet class in JSMPP doesn't support the value 3 (binary 0011) which indicates ISO-8859-1.</p><p>Although JSMPP provides a representation of the message class parameter, the Camel component doesn't currently provide a way to set it other than manually setting the corresponding bits in the data coding field.</p><p>When setting the data coding field in the outgoing message, the Camel component considers the following values and uses th
 e first one it can find:</p><ul><li>the data coding specified in a header</li><li>the alphabet specified in a header</li><li>the data coding specified in the endpoint configuration (URI parameter)</li></ul><p>Older versions of Camel had bugs in support for international character sets.&#160; This feature only worked when a single encoding was used for all messages and was troublesome when users wanted to change it on a per-message basis.&#160; Users who require this to work should ensure their version of Camel includes the fix for&#160;</p><div class="error">Error rendering macro 'jira' : com.atlassian.confluence.macro.MacroExecutionException: java.lang.RuntimeException: Not Found</div>.<p>In addition to trying to send the data coding value to the SMSC, the Camel component also tries to analyze the message body, convert it to a Java String (Unicode) and convert that to a byte array in the corresponding alphabet&#160; When deciding which alphabet to use in the byte array, the Camel S
 MPP component does not consider the data coding value (header or configuration), it only considers the specified alphabet (from either the header or endpoint parameter).</p><p>If some characters in the String can't be represented in the chosen alphabet, they may be replaced by the question mark ( ? ) symbol.&#160; Users of the API may want to consider checking if their message body can be converted to ISO-8859-1 before passing it to the component and if not, setting the alphabet header to request UCS-2 encoding.&#160; If the alphabet and data coding options are not specified at all then the component may try to detect the required encoding and set the data coding for you.</p><p>The list of alphabet codes are specified in the SMPP specification v3.4, section 5.2.19.&#160; One notable limitation of the SMPP specification is that there is no alphabet code for explicitly requesting use of the GSM 3.38 (7 bit) character set.&#160; Choosing the value 0 for the alphabet selects the SMSC <e
 m>default</em> alphabet, this usually means GSM 3.38 but it is not guaranteed.&#160; The SMPP gateway Nexmo <a shape="rect" class="external-link" href="https://help.nexmo.com/hc/en-us/articles/204015813-How-to-change-the-character-encoding-in-SMPP-" rel="nofollow">actually allows the default to be mapped to any other character set with a control panel option</a>. It is suggested that users check with their SMSC operator to confirm exactly which character set is being used as the default.</p><h3 id="BookComponentAppendix-Messagesplittingandthrottling">Message splitting and throttling</h3><p>After transforming a message body from a String to a byte array, the Camel component is also responsible for splitting the message into parts (within the 140 byte SMS size limit) before passing it to JSMPP.&#160; This is completed automatically.</p><p>If the GSM 3.38 alphabet is used, the component will pack up to 160 characters into the 140 byte message body.&#160; If an 8 bit character set is us
 ed (e.g. ISO-8859-1 for western Europe) then 140 characters will be allowed within the 140 byte message body.&#160; If 16 bit UCS-2 encoding is used then just 70 characters fit into each 140 byte message.</p><p>Some SMSC providers implement throttling rules.&#160; Each part of a message that has been split may be counted separately by the provider's throttling mechanism.&#160; The Camel Throttler component can be useful for throttling messages in the SMPP route before handing them to the SMSC.</p><h3 id="BookComponentAppendix-URIformat.62">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

[... 140 lines stripped ...]