camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r864123 - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache camel-2120-release.html cometd.html jdbc.html
Date Sun, 02 Jun 2013 16:21:23 GMT
Author: buildbot
Date: Sun Jun  2 16:21:22 2013
New Revision: 864123

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-2120-release.html
    websites/production/camel/content/cometd.html
    websites/production/camel/content/jdbc.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 Sun Jun  2 16:21:22 2013
@@ -1429,7 +1429,7 @@ cometds://localhost:8443/service/mychann
 
 <h3><a shape="rect" name="BookComponentAppendix-Options"></a>Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resourceBase</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar. Notice this option has been renamed to <tt>baseResource</tt> from <b>Camel 2.7</b> onwards. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>baseResource</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conflue
 nceTd"> <b>Camel 2.7:</b> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>240000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>interval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout in milliseconds. How long a client will wait between reconnects </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>
 maxInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>multiFrameInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1500</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout, if multiple connections are detected from the same browser. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>jsonCommented</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt>, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking. </td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"> <tt>logLevel</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt>=none, <tt>1</tt>=info, <tt>2</tt>=debug. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> sslContextParameters </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Reference to a <tt>org.apache.camel.util.jsse.SSLContextParameters</tt> in the <a shape="rect" class="external-link" href="http://camel.apache.org/registry.html">Registry</a>.&#160; This reference overrides any configured SSLContextParameters at the component level.&#160; See <a shape="rect" href="camel-configuration-utilities.html" title="Camel Configuration Utilities">Using the JSSE Configuration Utility</a>. <br clear="none" class="atl-forced-newline"> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>crossOriginFilterOn</tt> </td><td colspan="
 1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> If <tt>true</tt>, the server will support for cross-domain filtering </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowedOrigins</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>*</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The origins domain that support to cross, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>filterPath</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The filterPath will be used by the CrossOriginFilter, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resourceBase</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar. Notice this option has been renamed to <tt>baseResource</tt> from <b>Camel 2.7</b> onwards. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>baseResource</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conflue
 nceTd"> <b>Camel 2.7:</b> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>240000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>interval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout in milliseconds. How long a client will wait between reconnects </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>
 maxInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>multiFrameInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1500</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout, if multiple connections are detected from the same browser. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>jsonCommented</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt>, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking. </td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"> <tt>logLevel</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt>=none, <tt>1</tt>=info, <tt>2</tt>=debug. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> sslContextParameters </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Reference to a <tt>org.apache.camel.util.jsse.SSLContextParameters</tt> in the <a shape="rect" class="external-link" href="http://camel.apache.org/registry.html">Registry</a>.&#160; This reference overrides any configured SSLContextParameters at the component level.&#160; See <a shape="rect" href="camel-configuration-utilities.html" title="Camel Configuration Utilities">Using the JSSE Configuration Utility</a>. <br clear="none" class="atl-forced-newline"> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>crossOriginFilterOn</tt> </td><td colspan="
 1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> If <tt>true</tt>, the server will support for cross-domain filtering </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowedOrigins</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>*</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The origins domain that support to cross, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>filterPath</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The filterPath will be used by the CrossOriginFilter, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>disconnectLocalSession</tt> </td><td colspan="1" rowspan="1" class="confluen
 ceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10.5/2.11.1: (Producer only)</b>: Whether to disconnect local sessions after publishing a message to its channel. Disconnecting local session is needed as they are not swept by default by CometD, and therefore you can run out of memory.  </td></tr></tbody></table>
 </div>
 
 </div>
@@ -8283,7 +8283,7 @@ jdbc:dataSourceName[?options]
 <h3><a shape="rect" name="BookComponentAppendix-Options"></a>Options</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>readSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The default maximum number of rows that can be read by a polling query. The default value is 0. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statement.&lt;xxx&gt;</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.1:</b> Sets additional options on the <tt>java.sql.Statement</tt> that is used behind the scenes to execute the queries. For instance, <tt>statement.maxRows=10</tt>. For detailed documentation, see the <a shape="rect" class="ex
 ternal-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" rel="nofollow"><tt>java.sql.Statement</tt> javadoc</a> documentation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useJDBC4ColumnNameAndLabelSemantics</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.2:</b> Sets whether to use JDBC 4/3 column label/name semantics. You can use this option to turn it <tt>false</tt> in case you have issues with your JDBC driver to select data. This only applies when using <tt>SQL SELECT</tt> using aliases (e.g. <tt>SQL SELECT id as identifier, name as given_name from persons</tt>). </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resetAutoCommit</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Camel will set the autoCommit on the JDBC 
 connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag.</td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>readSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The default maximum number of rows that can be read by a polling query. The default value is 0. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statement.&lt;xxx&gt;</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.1:</b> Sets additional options on the <tt>java.sql.Statement</tt> that is used behind the scenes to execute the queries. For instance, <tt>statement.maxRows=10</tt>. For detailed documentation, see the <a shape="rect" class="ex
 ternal-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" rel="nofollow"><tt>java.sql.Statement</tt> javadoc</a> documentation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useJDBC4ColumnNameAndLabelSemantics</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.2:</b> Sets whether to use JDBC 4/3 column label/name semantics. You can use this option to turn it <tt>false</tt> in case you have issues with your JDBC driver to select data. This only applies when using <tt>SQL SELECT</tt> using aliases (e.g. <tt>SQL SELECT id as identifier, name as given_name from persons</tt>). </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resetAutoCommit</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Camel will set the autoCommit on the JDBC 
 connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowNamedParameters</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Whether to allow using named parameters in the queries. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>prepareStatementStrategy</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Allows to plugin to use a custom <tt>org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy</tt> to control preparation of t
 he query and prepared statement. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useHeadersAsParameters</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Set this option to <tt>true</tt> to use the <tt>prepareStatementStrategy</tt> with named parameters. This allows to define queries with named placeholders, and use headers with the dynamic values for the query placeholders. </td></tr></tbody></table>
 </div>
 
 
@@ -8294,7 +8294,7 @@ jdbc:dataSourceName[?options]
 
 <h4><a shape="rect" name="BookComponentAppendix-MessageHeaders"></a>Message Headers</h4>
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Header </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcRowCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is a <tt>SELECT</tt>, query the row count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcUpdateCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is an <tt>UPDATE</tt>, query the update count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRows</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> Rows that contains the generated kets. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRowCount</tt> </td><td colspan="1" rowspan="1" class="c
 onfluenceTd"> <b>Camel 2.10:</b> The number of rows in the header that contains generated keys. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcColumnNames</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11.1:</b> The column names from the ResultSet as a <tt>java.util.Set</tt> type. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Header </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcRowCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is a <tt>SELECT</tt>, query the row count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcUpdateCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is an <tt>UPDATE</tt>, query the update count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRows</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> Rows that contains the generated kets. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRowCount</tt> </td><td colspan="1" rowspan="1" class="c
 onfluenceTd"> <b>Camel 2.10:</b> The number of rows in the header that contains generated keys. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcColumnNames</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11.1:</b> The column names from the ResultSet as a <tt>java.util.Set</tt> type. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcParametes</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> A <tt>java.util.Map</tt> which has the headers to be used if <tt>useHeadersAsParameters</tt> has been enabled. </td></tr></tbody></table>
 </div>
 
 
@@ -8306,6 +8306,28 @@ To do that set the header <tt>CamelRetri
 
 <p>You can see more details in this <a shape="rect" 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="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Using generated keys does not work with together with named parameters.</td></tr></table></div>
+
+
+<h3><a shape="rect" name="BookComponentAppendix-Usingnamedparameters"></a>Using named parameters</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p>In the given route below, we want to get all the projects from the projects table. Notice the SQL query has 2 named parameters, :#lic and :#min.<br clear="none">
+Camel will then lookup for these parameters from the message body or message headers. Notice in the example above we set two headers with constant value<br clear="none">
+for the named parameters:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+  from(<span class="code-quote">"direct:projects"</span>)
+     .setHeader(<span class="code-quote">"lic"</span>, constant(<span class="code-quote">"ASF"</span>))
+     .setHeader(<span class="code-quote">"min"</span>, constant(123))
+     .setBody(<span class="code-quote">"select * from projects where license = :#lic and id &gt; :#min order by id"</span>)
+     .to(<span class="code-quote">"jdbc:myDataSource?useHeadersAsParameters=<span class="code-keyword">true</span>"</span>)
+</pre>
+</div></div>
+
+<p>You can also store the header values in a <tt>java.util.Map</tt> and store the map on the headers with the key <tt>CamelJdbcParameters</tt>.</p>
+
 
 <h3><a shape="rect" name="BookComponentAppendix-Samples"></a>Samples</h3>
 

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Sun Jun  2 16:21:22 2013
@@ -22494,7 +22494,7 @@ cometds://localhost:8443/service/mychann
 
 <h3><a shape="rect" name="BookInOnePage-Options"></a>Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resourceBase</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar. Notice this option has been renamed to <tt>baseResource</tt> from <b>Camel 2.7</b> onwards. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>baseResource</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conflue
 nceTd"> <b>Camel 2.7:</b> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>240000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>interval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout in milliseconds. How long a client will wait between reconnects </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>
 maxInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>multiFrameInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1500</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout, if multiple connections are detected from the same browser. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>jsonCommented</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt>, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking. </td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"> <tt>logLevel</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt>=none, <tt>1</tt>=info, <tt>2</tt>=debug. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> sslContextParameters </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Reference to a <tt>org.apache.camel.util.jsse.SSLContextParameters</tt> in the <a shape="rect" class="external-link" href="http://camel.apache.org/registry.html">Registry</a>.&#160; This reference overrides any configured SSLContextParameters at the component level.&#160; See <a shape="rect" href="camel-configuration-utilities.html" title="Camel Configuration Utilities">Using the JSSE Configuration Utility</a>. <br clear="none" class="atl-forced-newline"> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>crossOriginFilterOn</tt> </td><td colspan="
 1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> If <tt>true</tt>, the server will support for cross-domain filtering </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowedOrigins</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>*</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The origins domain that support to cross, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>filterPath</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The filterPath will be used by the CrossOriginFilter, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resourceBase</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar. Notice this option has been renamed to <tt>baseResource</tt> from <b>Camel 2.7</b> onwards. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>baseResource</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conflue
 nceTd"> <b>Camel 2.7:</b> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>240000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>interval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout in milliseconds. How long a client will wait between reconnects </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>
 maxInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>multiFrameInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1500</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout, if multiple connections are detected from the same browser. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>jsonCommented</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt>, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking. </td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"> <tt>logLevel</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt>=none, <tt>1</tt>=info, <tt>2</tt>=debug. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> sslContextParameters </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Reference to a <tt>org.apache.camel.util.jsse.SSLContextParameters</tt> in the <a shape="rect" class="external-link" href="http://camel.apache.org/registry.html">Registry</a>.&#160; This reference overrides any configured SSLContextParameters at the component level.&#160; See <a shape="rect" href="camel-configuration-utilities.html" title="Camel Configuration Utilities">Using the JSSE Configuration Utility</a>. <br clear="none" class="atl-forced-newline"> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>crossOriginFilterOn</tt> </td><td colspan="
 1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> If <tt>true</tt>, the server will support for cross-domain filtering </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowedOrigins</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>*</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The origins domain that support to cross, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>filterPath</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The filterPath will be used by the CrossOriginFilter, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>disconnectLocalSession</tt> </td><td colspan="1" rowspan="1" class="confluen
 ceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10.5/2.11.1: (Producer only)</b>: Whether to disconnect local sessions after publishing a message to its channel. Disconnecting local session is needed as they are not swept by default by CometD, and therefore you can run out of memory.  </td></tr></tbody></table>
 </div>
 
 </div>
@@ -29348,7 +29348,7 @@ jdbc:dataSourceName[?options]
 <h3><a shape="rect" name="BookInOnePage-Options"></a>Options</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>readSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The default maximum number of rows that can be read by a polling query. The default value is 0. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statement.&lt;xxx&gt;</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.1:</b> Sets additional options on the <tt>java.sql.Statement</tt> that is used behind the scenes to execute the queries. For instance, <tt>statement.maxRows=10</tt>. For detailed documentation, see the <a shape="rect" class="ex
 ternal-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" rel="nofollow"><tt>java.sql.Statement</tt> javadoc</a> documentation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useJDBC4ColumnNameAndLabelSemantics</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.2:</b> Sets whether to use JDBC 4/3 column label/name semantics. You can use this option to turn it <tt>false</tt> in case you have issues with your JDBC driver to select data. This only applies when using <tt>SQL SELECT</tt> using aliases (e.g. <tt>SQL SELECT id as identifier, name as given_name from persons</tt>). </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resetAutoCommit</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Camel will set the autoCommit on the JDBC 
 connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag.</td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>readSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The default maximum number of rows that can be read by a polling query. The default value is 0. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statement.&lt;xxx&gt;</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.1:</b> Sets additional options on the <tt>java.sql.Statement</tt> that is used behind the scenes to execute the queries. For instance, <tt>statement.maxRows=10</tt>. For detailed documentation, see the <a shape="rect" class="ex
 ternal-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" rel="nofollow"><tt>java.sql.Statement</tt> javadoc</a> documentation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useJDBC4ColumnNameAndLabelSemantics</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.2:</b> Sets whether to use JDBC 4/3 column label/name semantics. You can use this option to turn it <tt>false</tt> in case you have issues with your JDBC driver to select data. This only applies when using <tt>SQL SELECT</tt> using aliases (e.g. <tt>SQL SELECT id as identifier, name as given_name from persons</tt>). </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resetAutoCommit</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Camel will set the autoCommit on the JDBC 
 connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowNamedParameters</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Whether to allow using named parameters in the queries. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>prepareStatementStrategy</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Allows to plugin to use a custom <tt>org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy</tt> to control preparation of t
 he query and prepared statement. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useHeadersAsParameters</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Set this option to <tt>true</tt> to use the <tt>prepareStatementStrategy</tt> with named parameters. This allows to define queries with named placeholders, and use headers with the dynamic values for the query placeholders. </td></tr></tbody></table>
 </div>
 
 
@@ -29359,7 +29359,7 @@ jdbc:dataSourceName[?options]
 
 <h4><a shape="rect" name="BookInOnePage-MessageHeaders"></a>Message Headers</h4>
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Header </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcRowCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is a <tt>SELECT</tt>, query the row count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcUpdateCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is an <tt>UPDATE</tt>, query the update count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRows</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> Rows that contains the generated kets. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRowCount</tt> </td><td colspan="1" rowspan="1" class="c
 onfluenceTd"> <b>Camel 2.10:</b> The number of rows in the header that contains generated keys. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcColumnNames</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11.1:</b> The column names from the ResultSet as a <tt>java.util.Set</tt> type. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Header </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcRowCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is a <tt>SELECT</tt>, query the row count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcUpdateCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is an <tt>UPDATE</tt>, query the update count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRows</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> Rows that contains the generated kets. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRowCount</tt> </td><td colspan="1" rowspan="1" class="c
 onfluenceTd"> <b>Camel 2.10:</b> The number of rows in the header that contains generated keys. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcColumnNames</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11.1:</b> The column names from the ResultSet as a <tt>java.util.Set</tt> type. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcParametes</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> A <tt>java.util.Map</tt> which has the headers to be used if <tt>useHeadersAsParameters</tt> has been enabled. </td></tr></tbody></table>
 </div>
 
 
@@ -29371,6 +29371,28 @@ To do that set the header <tt>CamelRetri
 
 <p>You can see more details in this <a shape="rect" 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="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Using generated keys does not work with together with named parameters.</td></tr></table></div>
+
+
+<h3><a shape="rect" name="BookInOnePage-Usingnamedparameters"></a>Using named parameters</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p>In the given route below, we want to get all the projects from the projects table. Notice the SQL query has 2 named parameters, :#lic and :#min.<br clear="none">
+Camel will then lookup for these parameters from the message body or message headers. Notice in the example above we set two headers with constant value<br clear="none">
+for the named parameters:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+  from(<span class="code-quote">"direct:projects"</span>)
+     .setHeader(<span class="code-quote">"lic"</span>, constant(<span class="code-quote">"ASF"</span>))
+     .setHeader(<span class="code-quote">"min"</span>, constant(123))
+     .setBody(<span class="code-quote">"select * from projects where license = :#lic and id &gt; :#min order by id"</span>)
+     .to(<span class="code-quote">"jdbc:myDataSource?useHeadersAsParameters=<span class="code-keyword">true</span>"</span>)
+</pre>
+</div></div>
+
+<p>You can also store the header values in a <tt>java.util.Map</tt> and store the map on the headers with the key <tt>CamelJdbcParameters</tt>.</p>
+
 
 <h3><a shape="rect" name="BookInOnePage-Samples"></a>Samples</h3>
 

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

Modified: websites/production/camel/content/camel-2120-release.html
==============================================================================
--- websites/production/camel/content/camel-2120-release.html (original)
+++ websites/production/camel/content/camel-2120-release.html Sun Jun  2 16:21:22 2013
@@ -84,7 +84,7 @@
 
 <p>Welcome to the 2.12.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p>
 
-<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint Annotations">Endpoint Annotations</a> along with automatically created HTML documentation for the endpoint parameters; this makes it easier for component developers to add a few refactoring-safe annotations to their Endpoint or Consumer implementations and, (along with javadoc comments on the field or setter method), get nice user documentation on how to use the endpoint for free.</li><li><a shape="rect" href="componentconfiguration.html" title="ComponentConfiguration">ComponentConfiguration</a> API provides a handy API for tools developers to introspect on a Component to find all the possible parameters, their types and any extra annotations (like Bean Validation Annotations) to be able to create/edit endpoints or URI strings so that tools can generate nicer UIs for configuring endpoints than just letting folks edit Strings.</li><li><a shape="rect" href="endpointcompleter.html" title="EndpointCompleter
 ">EndpointCompleter</a> API provides a hook so that command line tools (like <a shape="rect" class="external-link" href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html">Karaf's shell</a>), IDEs and web tools can get (bash tab like) auto-completion on endpoint paths (such as file or directory names, message queue names, database table names) when creating or using new endpoints</li><li>Reduced stack-frames in use during routing, that also makes Camel's stack traces being logged much less verbose. This also allows people to easier debug the internals of Camel as less <tt>AsyncCallback</tt> callbacks are in use during routing.</li><li>Easy to use <a shape="rect" href="message-history.html" title="Message History">Message History</a> out of the box. And included message history as "route stack-trace" when exceptions logged by <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> to make it easier for end users to spot where
  the exception occurred.</li><li><a shape="rect" href="spring-web-services.html" title="Spring Web Services">Spring Web Services</a> now supports setting/receiving SOAP headers more easily using a header on the Camel <a shape="rect" href="message.html" title="Message">Message</a>.</li><li>Evaluating <a shape="rect" href="groovy.html" title="Groovy">Groovy</a> expressions is faster as we cache the compiled scripts.</li><li>Added <tt>base64</tt> option to <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> to allow transferring security token over <a shape="rect" href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded representation.</li><li>Made it easier to use <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> as the credentials can be provided in headers, when sending a message to a secured route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a> now supports enums.</li><l
 i>Added new <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> to perform live debugging of messages during routing. The <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> has JMX API allows tooling to control the debugger.</li><li>While using the <a shape="rect" class="external-link" href="http://xircles.codehaus.org/projects/jackson" rel="nofollow">Jackson library</a> through the <a shape="rect" href="json.html" title="JSON">JSON</a> Dataformat there's now a <tt>jsonView</tt> attribute you could make use of directly inside the <a shape="rect" href="dsl.html" title="DSL">DSL</a> itself.</li><li><a shape="rect" href="smpp.html" title="SMPP">SMPP</a> now supports optional parameters in all commands where they are possible.</li></ul>
+<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint Annotations">Endpoint Annotations</a> along with automatically created HTML documentation for the endpoint parameters; this makes it easier for component developers to add a few refactoring-safe annotations to their Endpoint or Consumer implementations and, (along with javadoc comments on the field or setter method), get nice user documentation on how to use the endpoint for free.</li><li><a shape="rect" href="componentconfiguration.html" title="ComponentConfiguration">ComponentConfiguration</a> API provides a handy API for tools developers to introspect on a Component to find all the possible parameters, their types and any extra annotations (like Bean Validation Annotations) to be able to create/edit endpoints or URI strings so that tools can generate nicer UIs for configuring endpoints than just letting folks edit Strings.</li><li><a shape="rect" href="endpointcompleter.html" title="EndpointCompleter
 ">EndpointCompleter</a> API provides a hook so that command line tools (like <a shape="rect" class="external-link" href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html">Karaf's shell</a>), IDEs and web tools can get (bash tab like) auto-completion on endpoint paths (such as file or directory names, message queue names, database table names) when creating or using new endpoints</li><li>Reduced stack-frames in use during routing, that also makes Camel's stack traces being logged much less verbose. This also allows people to easier debug the internals of Camel as less <tt>AsyncCallback</tt> callbacks are in use during routing.</li><li>Easy to use <a shape="rect" href="message-history.html" title="Message History">Message History</a> out of the box. And included message history as "route stack-trace" when exceptions logged by <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> to make it easier for end users to spot where
  the exception occurred.</li><li><a shape="rect" href="spring-web-services.html" title="Spring Web Services">Spring Web Services</a> now supports setting/receiving SOAP headers more easily using a header on the Camel <a shape="rect" href="message.html" title="Message">Message</a>.</li><li>Evaluating <a shape="rect" href="groovy.html" title="Groovy">Groovy</a> expressions is faster as we cache the compiled scripts.</li><li>Added <tt>base64</tt> option to <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> to allow transferring security token over <a shape="rect" href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded representation.</li><li>Made it easier to use <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> as the credentials can be provided in headers, when sending a message to a secured route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a> now supports enums.</li><l
 i>Added new <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> to perform live debugging of messages during routing. The <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> has JMX API allows tooling to control the debugger.</li><li>While using the <a shape="rect" class="external-link" href="http://xircles.codehaus.org/projects/jackson" rel="nofollow">Jackson library</a> through the <a shape="rect" href="json.html" title="JSON">JSON</a> Dataformat there's now a <tt>jsonView</tt> attribute you could make use of directly inside the <a shape="rect" href="dsl.html" title="DSL">DSL</a> itself.</li><li><a shape="rect" href="smpp.html" title="SMPP">SMPP</a> now supports optional parameters in all commands where they are possible.</li><li><a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> now supports named parameters.</li></ul>
 
 
 <h3><a shape="rect" name="Camel2.12.0Release-FixedIssues"></a>Fixed Issues</h3>

Modified: websites/production/camel/content/cometd.html
==============================================================================
--- websites/production/camel/content/cometd.html (original)
+++ websites/production/camel/content/cometd.html Sun Jun  2 16:21:22 2013
@@ -114,7 +114,7 @@ cometds://localhost:8443/service/mychann
 
 <h3><a shape="rect" name="Cometd-Options"></a>Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resourceBase</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar. Notice this option has been renamed to <tt>baseResource</tt> from <b>Camel 2.7</b> onwards. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>baseResource</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conflue
 nceTd"> <b>Camel 2.7:</b> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>240000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>interval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout in milliseconds. How long a client will wait between reconnects </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>
 maxInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>multiFrameInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1500</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout, if multiple connections are detected from the same browser. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>jsonCommented</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt>, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking. </td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"> <tt>logLevel</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt>=none, <tt>1</tt>=info, <tt>2</tt>=debug. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> sslContextParameters </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Reference to a <tt>org.apache.camel.util.jsse.SSLContextParameters</tt> in the <a shape="rect" class="external-link" href="http://camel.apache.org/registry.html">Registry</a>.&#160; This reference overrides any configured SSLContextParameters at the component level.&#160; See <a shape="rect" href="camel-configuration-utilities.html" title="Camel Configuration Utilities">Using the JSSE Configuration Utility</a>. <br clear="none" class="atl-forced-newline"> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>crossOriginFilterOn</tt> </td><td colspan="
 1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> If <tt>true</tt>, the server will support for cross-domain filtering </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowedOrigins</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>*</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The origins domain that support to cross, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>filterPath</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The filterPath will be used by the CrossOriginFilter, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resourceBase</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar. Notice this option has been renamed to <tt>baseResource</tt> from <b>Camel 2.7</b> onwards. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>baseResource</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="conflue
 nceTd"> <b>Camel 2.7:</b> The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>240000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>interval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout in milliseconds. How long a client will wait between reconnects </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>
 maxInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>multiFrameInterval</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1500</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The client side poll timeout, if multiple connections are detected from the same browser. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>jsonCommented</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt>, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking. </td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"> <tt>logLevel</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt>=none, <tt>1</tt>=info, <tt>2</tt>=debug. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> sslContextParameters </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Reference to a <tt>org.apache.camel.util.jsse.SSLContextParameters</tt> in the <a shape="rect" class="external-link" href="http://camel.apache.org/registry.html">Registry</a>.&#160; This reference overrides any configured SSLContextParameters at the component level.&#160; See <a shape="rect" href="camel-configuration-utilities.html" title="Camel Configuration Utilities">Using the JSSE Configuration Utility</a>. <br clear="none" class="atl-forced-newline"> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>crossOriginFilterOn</tt> </td><td colspan="
 1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> If <tt>true</tt>, the server will support for cross-domain filtering </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowedOrigins</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>*</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The origins domain that support to cross, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>filterPath</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> The filterPath will be used by the CrossOriginFilter, if the <tt>crosssOriginFilterOn</tt> is <tt>true</tt> </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>disconnectLocalSession</tt> </td><td colspan="1" rowspan="1" class="confluen
 ceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10.5/2.11.1: (Producer only)</b>: Whether to disconnect local sessions after publishing a message to its channel. Disconnecting local session is needed as they are not swept by default by CometD, and therefore you can run out of memory.  </td></tr></tbody></table>
 </div>
 
 </div>

Modified: websites/production/camel/content/jdbc.html
==============================================================================
--- websites/production/camel/content/jdbc.html (original)
+++ websites/production/camel/content/jdbc.html Sun Jun  2 16:21:22 2013
@@ -110,7 +110,7 @@ jdbc:dataSourceName[?options]
 <h3><a shape="rect" name="JDBC-Options"></a>Options</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>readSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The default maximum number of rows that can be read by a polling query. The default value is 0. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statement.&lt;xxx&gt;</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.1:</b> Sets additional options on the <tt>java.sql.Statement</tt> that is used behind the scenes to execute the queries. For instance, <tt>statement.maxRows=10</tt>. For detailed documentation, see the <a shape="rect" class="ex
 ternal-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" rel="nofollow"><tt>java.sql.Statement</tt> javadoc</a> documentation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useJDBC4ColumnNameAndLabelSemantics</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.2:</b> Sets whether to use JDBC 4/3 column label/name semantics. You can use this option to turn it <tt>false</tt> in case you have issues with your JDBC driver to select data. This only applies when using <tt>SQL SELECT</tt> using aliases (e.g. <tt>SQL SELECT id as identifier, name as given_name from persons</tt>). </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resetAutoCommit</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Camel will set the autoCommit on the JDBC 
 connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag.</td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>readSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The default maximum number of rows that can be read by a polling query. The default value is 0. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statement.&lt;xxx&gt;</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.1:</b> Sets additional options on the <tt>java.sql.Statement</tt> that is used behind the scenes to execute the queries. For instance, <tt>statement.maxRows=10</tt>. For detailed documentation, see the <a shape="rect" class="ex
 ternal-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html" rel="nofollow"><tt>java.sql.Statement</tt> javadoc</a> documentation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useJDBC4ColumnNameAndLabelSemantics</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.2:</b> Sets whether to use JDBC 4/3 column label/name semantics. You can use this option to turn it <tt>false</tt> in case you have issues with your JDBC driver to select data. This only applies when using <tt>SQL SELECT</tt> using aliases (e.g. <tt>SQL SELECT id as identifier, name as given_name from persons</tt>). </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>resetAutoCommit</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Camel will set the autoCommit on the JDBC 
 connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>allowNamedParameters</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Whether to allow using named parameters in the queries. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>prepareStatementStrategy</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Allows to plugin to use a custom <tt>org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy</tt> to control preparation of t
 he query and prepared statement. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>useHeadersAsParameters</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Set this option to <tt>true</tt> to use the <tt>prepareStatementStrategy</tt> with named parameters. This allows to define queries with named placeholders, and use headers with the dynamic values for the query placeholders. </td></tr></tbody></table>
 </div>
 
 
@@ -121,7 +121,7 @@ jdbc:dataSourceName[?options]
 
 <h4><a shape="rect" name="JDBC-MessageHeaders"></a>Message Headers</h4>
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Header </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcRowCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is a <tt>SELECT</tt>, query the row count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcUpdateCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is an <tt>UPDATE</tt>, query the update count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRows</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> Rows that contains the generated kets. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRowCount</tt> </td><td colspan="1" rowspan="1" class="c
 onfluenceTd"> <b>Camel 2.10:</b> The number of rows in the header that contains generated keys. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcColumnNames</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11.1:</b> The column names from the ResultSet as a <tt>java.util.Set</tt> type. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Header </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcRowCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is a <tt>SELECT</tt>, query the row count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcUpdateCount</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If the query is an <tt>UPDATE</tt>, query the update count is returned in this OUT header. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRows</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> Rows that contains the generated kets. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelGeneratedKeysRowCount</tt> </td><td colspan="1" rowspan="1" class="c
 onfluenceTd"> <b>Camel 2.10:</b> The number of rows in the header that contains generated keys. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcColumnNames</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11.1:</b> The column names from the ResultSet as a <tt>java.util.Set</tt> type. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>CamelJdbcParametes</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> A <tt>java.util.Map</tt> which has the headers to be used if <tt>useHeadersAsParameters</tt> has been enabled. </td></tr></tbody></table>
 </div>
 
 
@@ -133,6 +133,28 @@ To do that set the header <tt>CamelRetri
 
 <p>You can see more details in this <a shape="rect" 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="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Using generated keys does not work with together with named parameters.</td></tr></table></div>
+
+
+<h3><a shape="rect" name="JDBC-Usingnamedparameters"></a>Using named parameters</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p>In the given route below, we want to get all the projects from the projects table. Notice the SQL query has 2 named parameters, :#lic and :#min.<br clear="none">
+Camel will then lookup for these parameters from the message body or message headers. Notice in the example above we set two headers with constant value<br clear="none">
+for the named parameters:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+  from(<span class="code-quote">"direct:projects"</span>)
+     .setHeader(<span class="code-quote">"lic"</span>, constant(<span class="code-quote">"ASF"</span>))
+     .setHeader(<span class="code-quote">"min"</span>, constant(123))
+     .setBody(<span class="code-quote">"select * from projects where license = :#lic and id &gt; :#min order by id"</span>)
+     .to(<span class="code-quote">"jdbc:myDataSource?useHeadersAsParameters=<span class="code-keyword">true</span>"</span>)
+</pre>
+</div></div>
+
+<p>You can also store the header values in a <tt>java.util.Map</tt> and store the map on the headers with the key <tt>CamelJdbcParameters</tt>.</p>
+
 
 <h3><a shape="rect" name="JDBC-Samples"></a>Samples</h3>
 



Mime
View raw message