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 2012/11/19 12:22:35 UTC

svn commit: r838830 - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache camel-2110-release.html mybatis.html

Author: buildbot
Date: Mon Nov 19 11:22:34 2012
New Revision: 838830

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-2110-release.html
    websites/production/camel/content/mybatis.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 Mon Nov 19 11:22:34 2012
@@ -11740,7 +11740,7 @@ If the file is located in another locati
 
 <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"> Option </th><th colspan="1" rowspan="1" class="confluenceTh"> Type </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.onConsume</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.useIterator</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenc
 eTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt> each row returned when polling will be processed individually. If <tt>false</tt> the entire <tt>List</tt> of data is set as the IN body. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.routeEmptyResultSet</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets whether empty result sets should be routed. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>StatementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Mandatory to specify for the producer to control which kind of operation to invoke. The enum values are: <tt>SelectOne</tt>
 , <tt>SelectList</tt>, <tt>Insert</tt>, <tt>InsertList</tt>, <tt>Update</tt>, <tt>Delete</tt>. <b>Notice:</b> <tt>InsertList</tt> is available as of Camel 2.10. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>maxMessagesPerPoll</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>int</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> An integer to define the maximum messages to gather per poll. 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. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Option </th><th colspan="1" rowspan="1" class="confluenceTh"> Type </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.onConsume</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.useIterator</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenc
 eTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt> each row returned when polling will be processed individually. If <tt>false</tt> the entire <tt>List</tt> of data is set as the IN body. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.routeEmptyResultSet</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets whether empty result sets should be routed. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>StatementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Mandatory to specify for the producer to control which kind of operation to invoke. The enum values are: <tt>SelectOne</tt>
 , <tt>SelectList</tt>, <tt>Insert</tt>, <tt>InsertList</tt>, <tt>Update</tt>, <tt>UpdateList</tt>, <tt>Delete</tt>, and <tt>DeleteList</tt>. <b>Notice:</b> <tt>InsertList</tt> is available as of Camel 2.10, and <tt>UpdateList</tt>, <tt>DeleteList</tt> is available as of Camel 2.11. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>maxMessagesPerPoll</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>int</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> An integer to define the maximum messages to gather per poll. 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>executorType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1
 " rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. <b>simple</b>. <br clear="none" class="atl-forced-newline"> <b>simple</b> executor does nothing special. <br clear="none" class="atl-forced-newline"> <b>reuse</b> executor reuses prepared statements. <br clear="none" class="atl-forced-newline"> <b>batch</b> executor reuses statements and batches updates. </td></tr></tbody></table>
 </div>
 </div>
 
@@ -11843,6 +11843,65 @@ from(<span class="code-quote">"activemq:
 </div></div>
 
 
+<h4><a shape="rect" name="BookComponentAppendix-UsingUpdateListStatementType"></a>Using UpdateList StatementType</h4>
+<p><b>Available as of Camel 2.11</b></p>
+
+<p>MyBatis allows you to update multiple rows using its for-each batch driver. To use this, you need to use the &lt;foreach&gt; in the mapper XML file. For example as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;update id=<span class="code-quote">"batchUpdateAccount"</span> parameterType=<span class="code-quote">"java.util.Map"</span>&gt;</span>
+    update ACCOUNT set
+    ACC_EMAIL = #{emailAddress}
+    where
+    ACC_ID in
+    <span class="code-tag">&lt;foreach item=<span class="code-quote">"Account"</span> collection=<span class="code-quote">"list"</span> open=<span class="code-quote">"("</span> close=<span class="code-quote">")"</span> separator=<span class="code-quote">","</span>&gt;</span>
+        #{Account.id}
+    <span class="code-tag">&lt;/foreach&gt;</span>
+<span class="code-tag">&lt;/update&gt;</span>
+</pre>
+</div></div>
+
+<p>Then you can update multiple rows, by sending a Camel message to the mybatis endpoint which uses the UpdateList statement type, as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+from(<span class="code-quote">"direct:start"</span>)
+    .to(<span class="code-quote">"mybatis:batchUpdateAccount?statementType=UpdateList"</span>)
+    .to(<span class="code-quote">"mock:result"</span>);
+</pre>
+</div></div>
+
+
+<h4><a shape="rect" name="BookComponentAppendix-UsingDeleteListStatementType"></a>Using DeleteList StatementType</h4>
+<p><b>Available as of Camel 2.11</b></p>
+
+<p>MyBatis allows you to delete multiple rows using its for-each batch driver. To use this, you need to use the &lt;foreach&gt; in the mapper XML file. For example as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;delete id=<span class="code-quote">"batchDeleteAccountById"</span> parameterType=<span class="code-quote">"java.util.List"</span>&gt;</span>
+    delete from ACCOUNT
+    where
+    ACC_ID in
+    <span class="code-tag">&lt;foreach item=<span class="code-quote">"AccountID"</span> collection=<span class="code-quote">"list"</span> open=<span class="code-quote">"("</span> close=<span class="code-quote">")"</span> separator=<span class="code-quote">","</span>&gt;</span>
+        #{AccountID}
+    <span class="code-tag">&lt;/foreach&gt;</span>
+<span class="code-tag">&lt;/delete&gt;</span>
+</pre>
+</div></div>
+
+<p>Then you can delete multiple rows, by sending a Camel message to the mybatis endpoint which uses the DeleteList statement type, as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+from(<span class="code-quote">"direct:start"</span>)
+    .to(<span class="code-quote">"mybatis:batchDeleteAccount?statementType=DeleteList"</span>)
+    .to(<span class="code-quote">"mock:result"</span>);
+</pre>
+</div></div>
+
+<h4><a shape="rect" name="BookComponentAppendix-NoticeonInsertList%2CUpdateListandDeleteListStatementTypes"></a>Notice on InsertList, UpdateList and DeleteList StatementTypes</h4>
+<p>Parameter of any type (List, Map, etc.) can be passed to mybatis and an end user is responsible for handling it as required<br clear="none">
+with the help of <a shape="rect" class="external-link" href="http://www.mybatis.org/core/dynamic-sql.html" rel="nofollow">mybatis dynamic queries</a> capabilities.</p>
+
+
 <h4><a shape="rect" name="BookComponentAppendix-Scheduledpollingexample"></a>Scheduled polling example</h4>
 <p>Since this component does not support scheduled polling, you need to use another mechanism for triggering the scheduled polls, such as the <a shape="rect" href="timer.html" title="Timer">Timer</a> or <a shape="rect" href="quartz.html" title="Quartz">Quartz</a> components.</p>
 
@@ -11961,6 +12020,7 @@ from(<span class="code-quote">"timer:<sp
     <span class="code-tag">&lt;/camelContext&gt;</span>
 </pre>
 </div></div>
+
 <h3><a shape="rect" name="BookComponentAppendix-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul>
 

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 Mon Nov 19 11:22:34 2012
@@ -31976,7 +31976,7 @@ If the file is located in another locati
 
 <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"> Option </th><th colspan="1" rowspan="1" class="confluenceTh"> Type </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.onConsume</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.useIterator</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenc
 eTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt> each row returned when polling will be processed individually. If <tt>false</tt> the entire <tt>List</tt> of data is set as the IN body. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.routeEmptyResultSet</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets whether empty result sets should be routed. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>StatementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Mandatory to specify for the producer to control which kind of operation to invoke. The enum values are: <tt>SelectOne</tt>
 , <tt>SelectList</tt>, <tt>Insert</tt>, <tt>InsertList</tt>, <tt>Update</tt>, <tt>Delete</tt>. <b>Notice:</b> <tt>InsertList</tt> is available as of Camel 2.10. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>maxMessagesPerPoll</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>int</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> An integer to define the maximum messages to gather per poll. 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. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Option </th><th colspan="1" rowspan="1" class="confluenceTh"> Type </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.onConsume</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.useIterator</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenc
 eTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt> each row returned when polling will be processed individually. If <tt>false</tt> the entire <tt>List</tt> of data is set as the IN body. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.routeEmptyResultSet</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets whether empty result sets should be routed. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>StatementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Mandatory to specify for the producer to control which kind of operation to invoke. The enum values are: <tt>SelectOne</tt>
 , <tt>SelectList</tt>, <tt>Insert</tt>, <tt>InsertList</tt>, <tt>Update</tt>, <tt>UpdateList</tt>, <tt>Delete</tt>, and <tt>DeleteList</tt>. <b>Notice:</b> <tt>InsertList</tt> is available as of Camel 2.10, and <tt>UpdateList</tt>, <tt>DeleteList</tt> is available as of Camel 2.11. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>maxMessagesPerPoll</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>int</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> An integer to define the maximum messages to gather per poll. 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>executorType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1
 " rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. <b>simple</b>. <br clear="none" class="atl-forced-newline"> <b>simple</b> executor does nothing special. <br clear="none" class="atl-forced-newline"> <b>reuse</b> executor reuses prepared statements. <br clear="none" class="atl-forced-newline"> <b>batch</b> executor reuses statements and batches updates. </td></tr></tbody></table>
 </div>
 </div>
 
@@ -32079,6 +32079,65 @@ from(<span class="code-quote">"activemq:
 </div></div>
 
 
+<h4><a shape="rect" name="BookInOnePage-UsingUpdateListStatementType"></a>Using UpdateList StatementType</h4>
+<p><b>Available as of Camel 2.11</b></p>
+
+<p>MyBatis allows you to update multiple rows using its for-each batch driver. To use this, you need to use the &lt;foreach&gt; in the mapper XML file. For example as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;update id=<span class="code-quote">"batchUpdateAccount"</span> parameterType=<span class="code-quote">"java.util.Map"</span>&gt;</span>
+    update ACCOUNT set
+    ACC_EMAIL = #{emailAddress}
+    where
+    ACC_ID in
+    <span class="code-tag">&lt;foreach item=<span class="code-quote">"Account"</span> collection=<span class="code-quote">"list"</span> open=<span class="code-quote">"("</span> close=<span class="code-quote">")"</span> separator=<span class="code-quote">","</span>&gt;</span>
+        #{Account.id}
+    <span class="code-tag">&lt;/foreach&gt;</span>
+<span class="code-tag">&lt;/update&gt;</span>
+</pre>
+</div></div>
+
+<p>Then you can update multiple rows, by sending a Camel message to the mybatis endpoint which uses the UpdateList statement type, as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+from(<span class="code-quote">"direct:start"</span>)
+    .to(<span class="code-quote">"mybatis:batchUpdateAccount?statementType=UpdateList"</span>)
+    .to(<span class="code-quote">"mock:result"</span>);
+</pre>
+</div></div>
+
+
+<h4><a shape="rect" name="BookInOnePage-UsingDeleteListStatementType"></a>Using DeleteList StatementType</h4>
+<p><b>Available as of Camel 2.11</b></p>
+
+<p>MyBatis allows you to delete multiple rows using its for-each batch driver. To use this, you need to use the &lt;foreach&gt; in the mapper XML file. For example as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;delete id=<span class="code-quote">"batchDeleteAccountById"</span> parameterType=<span class="code-quote">"java.util.List"</span>&gt;</span>
+    delete from ACCOUNT
+    where
+    ACC_ID in
+    <span class="code-tag">&lt;foreach item=<span class="code-quote">"AccountID"</span> collection=<span class="code-quote">"list"</span> open=<span class="code-quote">"("</span> close=<span class="code-quote">")"</span> separator=<span class="code-quote">","</span>&gt;</span>
+        #{AccountID}
+    <span class="code-tag">&lt;/foreach&gt;</span>
+<span class="code-tag">&lt;/delete&gt;</span>
+</pre>
+</div></div>
+
+<p>Then you can delete multiple rows, by sending a Camel message to the mybatis endpoint which uses the DeleteList statement type, as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+from(<span class="code-quote">"direct:start"</span>)
+    .to(<span class="code-quote">"mybatis:batchDeleteAccount?statementType=DeleteList"</span>)
+    .to(<span class="code-quote">"mock:result"</span>);
+</pre>
+</div></div>
+
+<h4><a shape="rect" name="BookInOnePage-NoticeonInsertList%2CUpdateListandDeleteListStatementTypes"></a>Notice on InsertList, UpdateList and DeleteList StatementTypes</h4>
+<p>Parameter of any type (List, Map, etc.) can be passed to mybatis and an end user is responsible for handling it as required<br clear="none">
+with the help of <a shape="rect" class="external-link" href="http://www.mybatis.org/core/dynamic-sql.html" rel="nofollow">mybatis dynamic queries</a> capabilities.</p>
+
+
 <h4><a shape="rect" name="BookInOnePage-Scheduledpollingexample"></a>Scheduled polling example</h4>
 <p>Since this component does not support scheduled polling, you need to use another mechanism for triggering the scheduled polls, such as the <a shape="rect" href="timer.html" title="Timer">Timer</a> or <a shape="rect" href="quartz.html" title="Quartz">Quartz</a> components.</p>
 
@@ -32197,6 +32256,7 @@ from(<span class="code-quote">"timer:<sp
     <span class="code-tag">&lt;/camelContext&gt;</span>
 </pre>
 </div></div>
+
 <h3><a shape="rect" name="BookInOnePage-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul>
 

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

Modified: websites/production/camel/content/camel-2110-release.html
==============================================================================
--- websites/production/camel/content/camel-2110-release.html (original)
+++ websites/production/camel/content/camel-2110-release.html Mon Nov 19 11:22:34 2012
@@ -84,12 +84,12 @@
 
 <p>Welcome to the 2.11.0 release with approximately XXX issues resolved - including new features, improvements, and bug fixes, such as: </p>
 
-<ul><li>Added <a shape="rect" href="binding.html" title="Binding">Binding</a> support, so it is easy to combine things like a <a shape="rect" href="data-format.html" title="Data Format">Data Format</a> to an <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a> for easier composition of routes.</li><li>Added support for SOAP 1.2 in <a shape="rect" href="soap.html" title="SOAP">SOAP</a> data format.</li><li><a shape="rect" href="cache.html" title="Cache">Cache</a> operation for add/update now supports expiry headers to control time to live/idle/eternal.</li><li>Added <tt>allowNullBody</tt> option to <a shape="rect" href="jms.html" title="JMS">JMS</a> to configure whether sending messages with no body is allowed.</li><li>Added <tt>connectOnStartup</tt> option to <a shape="rect" href="hdfs.html" title="HDFS">HDFS</a> to allow to connect on demand, to avoid having Hadoop block for long time connecting to the HDFS cluster, as it has a hardcoded 15 minute retry mechan
 ism.</li><li>Added support for daily and weekly trends to <a shape="rect" href="twitter.html" title="Twitter">Twitter</a> component.</li><li>The <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> now generates projects without any license headers.</li><li>Added 'rejectOld' option to the <a shape="rect" href="resequencer.html" title="Resequencer">Resequencer</a> to prevent out of order messages from being delivered after capacity/timeout events occur</li><li>Further optimized <a shape="rect" href="xpath.html" title="XPath">XPath</a> under concurrent load, and as well ensured resources are cleaned up eagerly</li><li>Added options <tt>allowNullBody</tt> and <tt>readLockMinLength</tt> to the <a shape="rect" href="file2.html" title="File2">File</a> and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> components.</li><li>Made <tt>changed</tt> read lock strategy on <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> g
 o faster (eg when the FTP server has a lot of files in the directory) if you enable the <tt>fastExistsCheck=true</tt> option as well. Notice that some FTP server may not support this.</li><li><a shape="rect" href="hl7.html" title="HL7">HL7</a> moves to HAPI 2.0 and supports using a dedicated Parser instance in the <a shape="rect" href="hl7.html" title="HL7">HL7</a> MLLP codec and DataFormat. Added "Terser" language and expression to be able to extract fields from a parsed message. <a shape="rect" href="hl7.html" title="HL7">HL7</a> now uses Apache Mina 2.x.</li><li>Add an option <tt>HttpMethodRestrict</tt> to restrict HTTP method in <a shape="rect" href="jetty.html" title="Jetty">Jetty</a> and <a shape="rect" href="servlet.html" title="SERVLET">SERVLET</a></li><li>Add support for selection of <a shape="rect" href="direct-vm.html" title="Direct-VM">Direct-VM</a> consumers by using ant-like path expression.</li><li>The <a shape="rect" href="pojo-producing.html" title="POJO Pro
 ducing">POJO Producing</a>, and <a shape="rect" href="pojo-consuming.html" title="POJO Consuming">POJO Consuming</a> with @Consume, @Produce, @EndpointInject now supports a new {{property} attribute to get the endpoint configuration from a bean property (eg using a getter method); this allows you to configure this on the bean using conventional bean configuration.</li><li>Testing with <tt>camel-test-blueprint</tt> on Windows no longer tries to cleanup after testing taking up 5 seconds and logging WARNs.</li><li>The <a shape="rect" href="file2.html" title="File2">File</a>, and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> components now support <tt>fileExist=Move</tt> option to move any existing files before writing a file.</li><li>Added option <tt>loadStatisticsEnabled</tt> on <a shape="rect" href="camel-jmx.html" title="Camel JMX">Camel JMX</a> to allow to disable load statistics if not needed (avoids a background thread being in use, to calculate the load stats).</
 li><li>Enabled "lazy connections" for <a shape="rect" href="xmpp.html" title="XMPP">XMPP</a> providers via the <tt>testConnectionOnStartup</tt> option</li><li>Added a connection monitor to detect and fix dropped <a shape="rect" href="xmpp.html" title="XMPP">XMPP</a> consumer connections at configurable <tt>connectionPollDelay</tt> intervals</li><li>Added an <tt>org.apache.camel.builder.ExchangeBuilder</tt> to build the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> using a builder pattern.</li><li>The <a shape="rect" href="camel-run-maven-goal.html" title="Camel Run Maven Goal">Camel Run Maven Goal</a> can now run <a shape="rect" href="cdi.html" title="CDI">CDI</a> applications.</li><li>The Camel <a shape="rect" href="cdi.html" title="CDI">CDI</a> component has improved a lot.</li><li>Added option <tt>allowRedeliveryWhileStopping</tt> to <a shape="rect" href="dead-letter-channel.html" title="Dead Letter Channel">error handlers</a> to control if redelivery
  is allowed during stopping/shutting down Camel or the route(s). Turning this option <tt>false</tt> allows to stop quicker by rejecting redelivery attempts.</li><li>Added support for specifying user info in Camel <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a> urls, which contains the @ sign; now the @ sign can be given as is; without being encoded to %40.</li><li>Added robust connection support for <a shape="rect" href="jmx.html" title="JMX">JMX</a>. Optional <tt>testConnectionOnStartup</tt> allows a JMX consumer to attach to a JMX server that becomes available <em>after</em> the JMX endpoint starts; <tt>reconnectOnConnectionFailure</tt> enables re-connection of failed JMX connections.</li><li><a shape="rect" href="jaxb.html" title="JAXB">JAXB</a> and <a shape="rect" href="soap.html" title="SOAP">SOAP</a> data format now supports controlling namespace prefix mappings when marshalling (eg to avoid prefixes such as ns2, ns3, ns4 etc.)</li><li>Added support 
 for using raw uris when <a shape="rect" href="component.html" title="Component">Component</a>s create <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a>s. This gives component writers full power in case their component has special syntax/notation for endpoint uri configurations.</li><li><a shape="rect" href="eip.html" title="EIP">EIP</a>s configured with custom <tt>AggregationStrategy</tt> will now strict check the custom strategy exists in the <a shape="rect" href="registry.html" title="Registry">Registry</a> and no longer fallback and use a default strategy if not.</li><li>Camel now logs on shutdown if any thread pools hasn't been properly shutdown, and will shutdown them as fail safe (can only be done for the thread pools Camel manages).</li><li>The buffer size of <a shape="rect" href="stream-caching.html" title="Stream caching">Stream caching</a> is now configurable.</li><li>Improved startup performance.</li><li>Added <a shape="rect" href="jms.html" title
 ="JMS">JMS</a> URI option <tt>messageListenerContainerFactoryRef</tt> which allows you to specify a <tt>MessageListenerContainerFactory</tt> to determine what <tt>org.springframework.jms.listener.AbstractMessageListenerContainer</tt> to use to consume messages.</li><li><a shape="rect" href="mqtt.html" title="MQTT">MQTT</a> producer now leverages the <a shape="rect" href="asynchronous-routing-engine.html" title="Asynchronous Routing Engine">Asynchronous Routing Engine</a></li><li>The <a shape="rect" href="netty.html" title="Netty">Netty</a> producer scales up and down much better by leveraging a channel pool.</li><li>Added new <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> for creating Camel and Groovy applications.</li><li>Camel now injects <tt>CamelContext</tt> on <tt>Language</tt> and <tt>DataFormat</tt> that implements <tt>CamelContextAware</tt></li><li>Thread pools in Camel with <tt>maximumQueueSize</tt> of 0 
 or negative will now not use a worker queue but do direct hand-over to thread instead.</li><li><a shape="rect" href="simple.html" title="Simple">Simple</a> unary operators for inc and dec must now have function on left hand side, to be parsed as unary function. Otherwise its now regarded as literal.</li><li>Custom assigned id's on Camel <a shape="rect" href="routes.html" title="Routes">Routes</a> is now validated on starting the routes, that they must be unique within the same CamelContext.</li><li>Added <tt>AbstractListAggregationStrategy</tt> abstract class to make it easier to <a shape="rect" href="aggregator2.html" title="Aggregator2">aggregate</a> into a List&lt;V&gt; using a custom <tt>AggregationStrategy</tt>.</li><li><a shape="rect" href="eip.html" title="EIP">EIP</a>s which support using <tt>AggregationStrategy</tt> now control the lifecycle of the strategy; allowing end users to do custom logic in the start/stop methods of their strategy implementation.</li><li>Add
 ed option <tt>includeSentJMSMessageID</tt> to <a shape="rect" href="jms.html" title="JMS">JMS</a> to allow to enrich Camel Message with the actual JMSMessageID for the sent message. Can be used by end users for logging purpose etc.</li><li>Added option <tt>allowShortLines</tt> and <tt>ignoreExtraColumns</tt> to <a shape="rect" href="flatpack-dataformat.html" title="Flatpack DataFormat">Flatpack data format</a>.</li><li><a shape="rect" href="mail.html" title="Mail">Mail</a> consumer now supports using search terms to filter mails by terms such as subject, from, body, sent date etc.</li><li>The cached script file in the <a shape="rect" href="language.html" title="Language">Language</a> component can now be cleared via JMX.</li><li>improved the karaf context-info command by adding a verbose mode to view endpoints list (now hidden by default) and adding stats on the number of active/inactive routes</li></ul>
+<ul><li>Added <a shape="rect" href="binding.html" title="Binding">Binding</a> support, so it is easy to combine things like a <a shape="rect" href="data-format.html" title="Data Format">Data Format</a> to an <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a> for easier composition of routes.</li><li>Added support for SOAP 1.2 in <a shape="rect" href="soap.html" title="SOAP">SOAP</a> data format.</li><li><a shape="rect" href="cache.html" title="Cache">Cache</a> operation for add/update now supports expiry headers to control time to live/idle/eternal.</li><li>Added <tt>allowNullBody</tt> option to <a shape="rect" href="jms.html" title="JMS">JMS</a> to configure whether sending messages with no body is allowed.</li><li>Added <tt>connectOnStartup</tt> option to <a shape="rect" href="hdfs.html" title="HDFS">HDFS</a> to allow to connect on demand, to avoid having Hadoop block for long time connecting to the HDFS cluster, as it has a hardcoded 15 minute retry mechan
 ism.</li><li>Added support for daily and weekly trends to <a shape="rect" href="twitter.html" title="Twitter">Twitter</a> component.</li><li>The <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> now generates projects without any license headers.</li><li>Added 'rejectOld' option to the <a shape="rect" href="resequencer.html" title="Resequencer">Resequencer</a> to prevent out of order messages from being delivered after capacity/timeout events occur</li><li>Further optimized <a shape="rect" href="xpath.html" title="XPath">XPath</a> under concurrent load, and as well ensured resources are cleaned up eagerly</li><li>Added options <tt>allowNullBody</tt> and <tt>readLockMinLength</tt> to the <a shape="rect" href="file2.html" title="File2">File</a> and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> components.</li><li>Made <tt>changed</tt> read lock strategy on <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> g
 o faster (eg when the FTP server has a lot of files in the directory) if you enable the <tt>fastExistsCheck=true</tt> option as well. Notice that some FTP server may not support this.</li><li><a shape="rect" href="hl7.html" title="HL7">HL7</a> moves to HAPI 2.0 and supports using a dedicated Parser instance in the <a shape="rect" href="hl7.html" title="HL7">HL7</a> MLLP codec and DataFormat. Added "Terser" language and expression to be able to extract fields from a parsed message. <a shape="rect" href="hl7.html" title="HL7">HL7</a> now uses Apache Mina 2.x.</li><li>Add an option <tt>HttpMethodRestrict</tt> to restrict HTTP method in <a shape="rect" href="jetty.html" title="Jetty">Jetty</a> and <a shape="rect" href="servlet.html" title="SERVLET">SERVLET</a></li><li>Add support for selection of <a shape="rect" href="direct-vm.html" title="Direct-VM">Direct-VM</a> consumers by using ant-like path expression.</li><li>The <a shape="rect" href="pojo-producing.html" title="POJO Pro
 ducing">POJO Producing</a>, and <a shape="rect" href="pojo-consuming.html" title="POJO Consuming">POJO Consuming</a> with @Consume, @Produce, @EndpointInject now supports a new {{property} attribute to get the endpoint configuration from a bean property (eg using a getter method); this allows you to configure this on the bean using conventional bean configuration.</li><li>Testing with <tt>camel-test-blueprint</tt> on Windows no longer tries to cleanup after testing taking up 5 seconds and logging WARNs.</li><li>The <a shape="rect" href="file2.html" title="File2">File</a>, and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> components now support <tt>fileExist=Move</tt> option to move any existing files before writing a file.</li><li>Added option <tt>loadStatisticsEnabled</tt> on <a shape="rect" href="camel-jmx.html" title="Camel JMX">Camel JMX</a> to allow to disable load statistics if not needed (avoids a background thread being in use, to calculate the load stats).</
 li><li>Enabled "lazy connections" for <a shape="rect" href="xmpp.html" title="XMPP">XMPP</a> providers via the <tt>testConnectionOnStartup</tt> option</li><li>Added a connection monitor to detect and fix dropped <a shape="rect" href="xmpp.html" title="XMPP">XMPP</a> consumer connections at configurable <tt>connectionPollDelay</tt> intervals</li><li>Added an <tt>org.apache.camel.builder.ExchangeBuilder</tt> to build the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> using a builder pattern.</li><li>The <a shape="rect" href="camel-run-maven-goal.html" title="Camel Run Maven Goal">Camel Run Maven Goal</a> can now run <a shape="rect" href="cdi.html" title="CDI">CDI</a> applications.</li><li>The Camel <a shape="rect" href="cdi.html" title="CDI">CDI</a> component has improved a lot.</li><li>Added option <tt>allowRedeliveryWhileStopping</tt> to <a shape="rect" href="dead-letter-channel.html" title="Dead Letter Channel">error handlers</a> to control if redelivery
  is allowed during stopping/shutting down Camel or the route(s). Turning this option <tt>false</tt> allows to stop quicker by rejecting redelivery attempts.</li><li>Added support for specifying user info in Camel <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a> urls, which contains the @ sign; now the @ sign can be given as is; without being encoded to %40.</li><li>Added robust connection support for <a shape="rect" href="jmx.html" title="JMX">JMX</a>. Optional <tt>testConnectionOnStartup</tt> allows a JMX consumer to attach to a JMX server that becomes available <em>after</em> the JMX endpoint starts; <tt>reconnectOnConnectionFailure</tt> enables re-connection of failed JMX connections.</li><li><a shape="rect" href="jaxb.html" title="JAXB">JAXB</a> and <a shape="rect" href="soap.html" title="SOAP">SOAP</a> data format now supports controlling namespace prefix mappings when marshalling (eg to avoid prefixes such as ns2, ns3, ns4 etc.)</li><li>Added support 
 for using raw uris when <a shape="rect" href="component.html" title="Component">Component</a>s create <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a>s. This gives component writers full power in case their component has special syntax/notation for endpoint uri configurations.</li><li><a shape="rect" href="eip.html" title="EIP">EIP</a>s configured with custom <tt>AggregationStrategy</tt> will now strict check the custom strategy exists in the <a shape="rect" href="registry.html" title="Registry">Registry</a> and no longer fallback and use a default strategy if not.</li><li>Camel now logs on shutdown if any thread pools hasn't been properly shutdown, and will shutdown them as fail safe (can only be done for the thread pools Camel manages).</li><li>The buffer size of <a shape="rect" href="stream-caching.html" title="Stream caching">Stream caching</a> is now configurable.</li><li>Improved startup performance.</li><li>Added <a shape="rect" href="jms.html" title
 ="JMS">JMS</a> URI option <tt>messageListenerContainerFactoryRef</tt> which allows you to specify a <tt>MessageListenerContainerFactory</tt> to determine what <tt>org.springframework.jms.listener.AbstractMessageListenerContainer</tt> to use to consume messages.</li><li><a shape="rect" href="mqtt.html" title="MQTT">MQTT</a> producer now leverages the <a shape="rect" href="asynchronous-routing-engine.html" title="Asynchronous Routing Engine">Asynchronous Routing Engine</a></li><li>The <a shape="rect" href="netty.html" title="Netty">Netty</a> producer scales up and down much better by leveraging a channel pool.</li><li>Added new <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> for creating Camel and Groovy applications.</li><li>Camel now injects <tt>CamelContext</tt> on <tt>Language</tt> and <tt>DataFormat</tt> that implements <tt>CamelContextAware</tt></li><li>Thread pools in Camel with <tt>maximumQueueSize</tt> of 0 
 or negative will now not use a worker queue but do direct hand-over to thread instead.</li><li><a shape="rect" href="simple.html" title="Simple">Simple</a> unary operators for inc and dec must now have function on left hand side, to be parsed as unary function. Otherwise its now regarded as literal.</li><li>Custom assigned id's on Camel <a shape="rect" href="routes.html" title="Routes">Routes</a> is now validated on starting the routes, that they must be unique within the same CamelContext.</li><li>Added <tt>AbstractListAggregationStrategy</tt> abstract class to make it easier to <a shape="rect" href="aggregator2.html" title="Aggregator2">aggregate</a> into a List&lt;V&gt; using a custom <tt>AggregationStrategy</tt>.</li><li><a shape="rect" href="eip.html" title="EIP">EIP</a>s which support using <tt>AggregationStrategy</tt> now control the lifecycle of the strategy; allowing end users to do custom logic in the start/stop methods of their strategy implementation.</li><li>Add
 ed option <tt>includeSentJMSMessageID</tt> to <a shape="rect" href="jms.html" title="JMS">JMS</a> to allow to enrich Camel Message with the actual JMSMessageID for the sent message. Can be used by end users for logging purpose etc.</li><li>Added option <tt>allowShortLines</tt> and <tt>ignoreExtraColumns</tt> to <a shape="rect" href="flatpack-dataformat.html" title="Flatpack DataFormat">Flatpack data format</a>.</li><li><a shape="rect" href="mail.html" title="Mail">Mail</a> consumer now supports using search terms to filter mails by terms such as subject, from, body, sent date etc.</li><li>The cached script file in the <a shape="rect" href="language.html" title="Language">Language</a> component can now be cleared via JMX.</li><li>improved the karaf context-info command by adding a verbose mode to view endpoints list (now hidden by default) and adding stats on the number of active/inactive routes</li><li>Added support for <tt>UpdateList</tt>, <tt>DeleteList</tt> and <tt>Execut
 orType</tt> to <a shape="rect" href="mybatis.html" title="MyBatis">MyBatis</a> component.</li></ul>
 
 
 <h3><a shape="rect" name="Camel2.11.0Release-Fixedissues"></a>Fixed issues</h3>
 
-<ul><li>Fixed <a shape="rect" href="routepolicy.html" title="RoutePolicy">RoutePolicy</a> used from Spring XML with <tt>routePolicyRef</tt> may not invoke all callbacks on the policy.</li><li>Fixed <a shape="rect" href="mina.html" title="MINA">MINA</a> consumer to force disconnect upon timeout when doing request/reply, as late replies may cause side effects otherwise.</li><li>Fixed <a shape="rect" href="simple.html" title="Simple">Simple</a> language with empty quoted literals in predicates, so you can compare against empty strings.</li><li>Fixed <a shape="rect" href="soap.html" title="SOAP">SOAP</a> data format to set SOAP 1.1 namespace when marhsalling faults.</li><li>Fixed <a shape="rect" href="seda.html" title="SEDA">SEDA</a> producer to send to the right BlockingQueue being attached on the <a shape="rect" href="seda.html" title="SEDA">SEDA</a> endpoint so that the sent messages don't get lost.</li><li>Fixed using <tt>sendEmptyMessageWhenIdle=true</tt> on a batch consume
 r such as <a shape="rect" href="file2.html" title="File2">File</a> now working with <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a> EIP when using <tt>completionFromBatchConsumer</tt></li><li>Fixed <tt>MockEndpoint.expectedBodiesReceivedInAnyOrder</tt> to allow asserting on multiple arrival of the same/equal bodies.</li><li>Fixed <a shape="rect" href="mybatis.html" title="MyBatis">MyBatis</a> to demarcate the running transactions properly while reading/writing from/to database.</li><li>Fixed <a shape="rect" href="jetty.html" title="Jetty">Jetty</a>, <a shape="rect" href="http.html" title="HTTP">HTTP</a>, <a shape="rect" href="http4.html" title="HTTP4">HTTP4</a>, and <a shape="rect" href="ahc.html" title="AHC">AHC</a> http components not working in bridge mode if content path have spaces</li><li>Fixed the <a shape="rect" href="cxf.html" title="CXF">CXF</a> fallback convertor issue which camel will unregister it when the converter return null.</li><li
 >Fixed the issue that <a shape="rect" href="file2.html" title="File2">File2</a> endpoints on windows without volume name in the path url.</li><li>Fixed the issue of unmarshaling pgp messages encrypted with ElGamal.</li><li>Fixed random <a shape="rect" href="load-balancer.html" title="Load Balancer">Load Balancer</a> to be even spread (before was a little less likely to pick the 1st)</li><li>Fixed <a shape="rect" href="timer.html" title="Timer">Timer</a> to not fire during starting <a shape="rect" href="camelcontext.html" title="CamelContext">CamelContext</a></li><li>Fixed <a shape="rect" href="xmlsecurity-dataformat.html" title="XMLSecurity DataFormat">XMLSecurity DataFormat</a> to enable retrieval of password-protected private keys for asymmetric decryption</li><li>Fixed <a shape="rect" href="exception-clause.html" title="Exception Clause">Exception Clause</a> using <tt>maximumRedeliveries(-1)</tt> may be wrongly inherited by another <tt>onException</tt> during a redelivery
  process.</li><li>Fixed logging <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> to use configured logging level.</li><li>Fixed issue when using multiple <tt>RouteBuilder</tt> with the Java DSL should have the <a shape="rect" href="exception-clause.html" title="Exception Clause">Exception Clause</a> being scoped per <tt>RouteBuilder</tt> instance.</li><li>Fixed issue with restarting a <a shape="rect" href="seda.html" title="SEDA">SEDA</a> consumer would not stop previous used thread pool.</li><li>Fixed issue when running low on memory and doing request/reply over <a shape="rect" href="jms.html" title="JMS">JMS</a> may GC producer, causing a new producer to be created, and leaving a message listener running from the previous producer.</li><li>Fixed issue with <a shape="rect" href="try-catch-finally.html" title="Try Catch Finally">Try Catch Finally</a> should clear redelivery exhaust state when catching exception in doCatch.</li><li>Fixed poten
 tial NPE in <a shape="rect" href="mqtt.html" title="MQTT">MQTT</a> producer, if a connection has been disconnected, and sending fails.</li><li>Unhandled exceptions occurred during routing from <a shape="rect" href="smpp.html" title="SMPP">SMPP</a> routes is now propagated back to the SMPP library to deal with.</li><li>Fixed <a shape="rect" href="restlet.html" title="Restlet">Restlet</a> parsing of last modification date header to use RFC-2822 date pattern.</li><li>Fixed <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregator</a> EIP when using completion size expression and fixed size together not working as expected.</li><li>Fixed <a shape="rect" href="crypto.html" title="Crypto">Crypto</a> to close streams after usage, which otherwise could prevent deleting files on Windows, which tend to lock files if a stream is open.</li><li>Fixed issue with <a shape="rect" href="groovy.html" title="Groovy">Groovy</a> language in OSGi</li><li>Fixed issue with localWorkDir
 ectory option on <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> not using the optimization to try to rename the work file when routing to a <a shape="rect" href="file2.html" title="File2">File</a> endpoint.</li><li>Fixed <a shape="rect" href="smpp.html" title="SMPP">SMPP</a> to use the right data coding by using Octet unspecified (8-bit binary) and using the specified alphabet from the exchange, if provided.</li><li>Fixed issue with configuring <a shape="rect" href="jetty.html" title="Jetty">Jetty</a> component using a name other than <tt>"jetty"</tt>.</li><li>Fixed issue with request/reply over <a shape="rect" href="jms.html" title="JMS">JMS</a> where a route is used on "the other end" to process the request and send back the correlated reply message; where a Camel route is used which has only 1 output, which can lead to no reply message being sent.</li><li>Fixed regression in <a shape="rect" href="aws-sqs.html" title="AWS-SQS">AWS-SQS</a> by updating the existing qu
 eue without any attributes.</li></ul>
+<ul><li>Fixed <a shape="rect" href="routepolicy.html" title="RoutePolicy">RoutePolicy</a> used from Spring XML with <tt>routePolicyRef</tt> may not invoke all callbacks on the policy.</li><li>Fixed <a shape="rect" href="mina.html" title="MINA">MINA</a> consumer to force disconnect upon timeout when doing request/reply, as late replies may cause side effects otherwise.</li><li>Fixed <a shape="rect" href="simple.html" title="Simple">Simple</a> language with empty quoted literals in predicates, so you can compare against empty strings.</li><li>Fixed <a shape="rect" href="soap.html" title="SOAP">SOAP</a> data format to set SOAP 1.1 namespace when marhsalling faults.</li><li>Fixed <a shape="rect" href="seda.html" title="SEDA">SEDA</a> producer to send to the right BlockingQueue being attached on the <a shape="rect" href="seda.html" title="SEDA">SEDA</a> endpoint so that the sent messages don't get lost.</li><li>Fixed using <tt>sendEmptyMessageWhenIdle=true</tt> on a batch consume
 r such as <a shape="rect" href="file2.html" title="File2">File</a> now working with <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a> EIP when using <tt>completionFromBatchConsumer</tt></li><li>Fixed <tt>MockEndpoint.expectedBodiesReceivedInAnyOrder</tt> to allow asserting on multiple arrival of the same/equal bodies.</li><li>Fixed <a shape="rect" href="mybatis.html" title="MyBatis">MyBatis</a> to demarcate the running transactions properly while reading/writing from/to database.</li><li>Fixed <a shape="rect" href="jetty.html" title="Jetty">Jetty</a>, <a shape="rect" href="http.html" title="HTTP">HTTP</a>, <a shape="rect" href="http4.html" title="HTTP4">HTTP4</a>, and <a shape="rect" href="ahc.html" title="AHC">AHC</a> http components not working in bridge mode if content path have spaces</li><li>Fixed the <a shape="rect" href="cxf.html" title="CXF">CXF</a> fallback convertor issue which camel will unregister it when the converter return null.</li><li
 >Fixed the issue that <a shape="rect" href="file2.html" title="File2">File2</a> endpoints on windows without volume name in the path url.</li><li>Fixed the issue of unmarshaling pgp messages encrypted with ElGamal.</li><li>Fixed random <a shape="rect" href="load-balancer.html" title="Load Balancer">Load Balancer</a> to be even spread (before was a little less likely to pick the 1st)</li><li>Fixed <a shape="rect" href="timer.html" title="Timer">Timer</a> to not fire during starting <a shape="rect" href="camelcontext.html" title="CamelContext">CamelContext</a></li><li>Fixed <a shape="rect" href="xmlsecurity-dataformat.html" title="XMLSecurity DataFormat">XMLSecurity DataFormat</a> to enable retrieval of password-protected private keys for asymmetric decryption</li><li>Fixed <a shape="rect" href="exception-clause.html" title="Exception Clause">Exception Clause</a> using <tt>maximumRedeliveries(-1)</tt> may be wrongly inherited by another <tt>onException</tt> during a redelivery
  process.</li><li>Fixed logging <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> to use configured logging level.</li><li>Fixed issue when using multiple <tt>RouteBuilder</tt> with the Java DSL should have the <a shape="rect" href="exception-clause.html" title="Exception Clause">Exception Clause</a> being scoped per <tt>RouteBuilder</tt> instance.</li><li>Fixed issue with restarting a <a shape="rect" href="seda.html" title="SEDA">SEDA</a> consumer would not stop previous used thread pool.</li><li>Fixed issue when running low on memory and doing request/reply over <a shape="rect" href="jms.html" title="JMS">JMS</a> may GC producer, causing a new producer to be created, and leaving a message listener running from the previous producer.</li><li>Fixed issue with <a shape="rect" href="try-catch-finally.html" title="Try Catch Finally">Try Catch Finally</a> should clear redelivery exhaust state when catching exception in doCatch.</li><li>Fixed poten
 tial NPE in <a shape="rect" href="mqtt.html" title="MQTT">MQTT</a> producer, if a connection has been disconnected, and sending fails.</li><li>Unhandled exceptions occurred during routing from <a shape="rect" href="smpp.html" title="SMPP">SMPP</a> routes is now propagated back to the SMPP library to deal with.</li><li>Fixed <a shape="rect" href="restlet.html" title="Restlet">Restlet</a> parsing of last modification date header to use RFC-2822 date pattern.</li><li>Fixed <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregator</a> EIP when using completion size expression and fixed size together not working as expected.</li><li>Fixed <a shape="rect" href="crypto.html" title="Crypto">Crypto</a> to close streams after usage, which otherwise could prevent deleting files on Windows, which tend to lock files if a stream is open.</li><li>Fixed issue with <a shape="rect" href="groovy.html" title="Groovy">Groovy</a> language in OSGi</li><li>Fixed issue with localWorkDir
 ectory option on <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> not using the optimization to try to rename the work file when routing to a <a shape="rect" href="file2.html" title="File2">File</a> endpoint.</li><li>Fixed <a shape="rect" href="smpp.html" title="SMPP">SMPP</a> to use the right data coding by using Octet unspecified (8-bit binary) and using the specified alphabet from the exchange, if provided.</li><li>Fixed issue with configuring <a shape="rect" href="jetty.html" title="Jetty">Jetty</a> component using a name other than <tt>"jetty"</tt>.</li><li>Fixed issue with request/reply over <a shape="rect" href="jms.html" title="JMS">JMS</a> where a route is used on "the other end" to process the request and send back the correlated reply message; where a Camel route is used which has only 1 output, which can lead to no reply message being sent.</li><li>Fixed regression in <a shape="rect" href="aws-sqs.html" title="AWS-SQS">AWS-SQS</a> by updating the existing qu
 eue without any attributes.</li><li>Fixed issue with <a shape="rect" href="using-propertyplaceholder.html" title="Using PropertyPlaceholder">Using PropertyPlaceholder</a> in <a shape="rect" href="expression.html" title="Expression">Expression</a>s in routes which are using &lt;transacted&gt; or &lt;policy&gt;.</li></ul>
 
 
 <h3><a shape="rect" name="Camel2.11.0Release-NewEnterpriseIntegrationPatterns"></a>New <a shape="rect" href="enterprise-integration-patterns.html" title="Enterprise Integration Patterns">Enterprise Integration Patterns</a></h3>

Modified: websites/production/camel/content/mybatis.html
==============================================================================
--- websites/production/camel/content/mybatis.html (original)
+++ websites/production/camel/content/mybatis.html Mon Nov 19 11:22:34 2012
@@ -109,7 +109,7 @@ If the file is located in another locati
 
 <h3><a shape="rect" name="MyBatis-Options"></a>Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Option </th><th colspan="1" rowspan="1" class="confluenceTh"> Type </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.onConsume</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.useIterator</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenc
 eTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt> each row returned when polling will be processed individually. If <tt>false</tt> the entire <tt>List</tt> of data is set as the IN body. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.routeEmptyResultSet</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets whether empty result sets should be routed. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>StatementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Mandatory to specify for the producer to control which kind of operation to invoke. The enum values are: <tt>SelectOne</tt>
 , <tt>SelectList</tt>, <tt>Insert</tt>, <tt>InsertList</tt>, <tt>Update</tt>, <tt>Delete</tt>. <b>Notice:</b> <tt>InsertList</tt> is available as of Camel 2.10. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>maxMessagesPerPoll</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>int</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> An integer to define the maximum messages to gather per poll. 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. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Option </th><th colspan="1" rowspan="1" class="confluenceTh"> Type </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.onConsume</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.useIterator</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenc
 eTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt> each row returned when polling will be processed individually. If <tt>false</tt> the entire <tt>List</tt> of data is set as the IN body. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>consumer.routeEmptyResultSet</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>boolean</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets whether empty result sets should be routed. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>statementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>StatementType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Mandatory to specify for the producer to control which kind of operation to invoke. The enum values are: <tt>SelectOne</tt>
 , <tt>SelectList</tt>, <tt>Insert</tt>, <tt>InsertList</tt>, <tt>Update</tt>, <tt>UpdateList</tt>, <tt>Delete</tt>, and <tt>DeleteList</tt>. <b>Notice:</b> <tt>InsertList</tt> is available as of Camel 2.10, and <tt>UpdateList</tt>, <tt>DeleteList</tt> is available as of Camel 2.11. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>maxMessagesPerPoll</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>int</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> An integer to define the maximum messages to gather per poll. 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>executorType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>String</tt> </td><td colspan="1
 " rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. <b>simple</b>. <br clear="none" class="atl-forced-newline"> <b>simple</b> executor does nothing special. <br clear="none" class="atl-forced-newline"> <b>reuse</b> executor reuses prepared statements. <br clear="none" class="atl-forced-newline"> <b>batch</b> executor reuses statements and batches updates. </td></tr></tbody></table>
 </div>
 </div>
 
@@ -212,6 +212,65 @@ from(<span class="code-quote">"activemq:
 </div></div>
 
 
+<h4><a shape="rect" name="MyBatis-UsingUpdateListStatementType"></a>Using UpdateList StatementType</h4>
+<p><b>Available as of Camel 2.11</b></p>
+
+<p>MyBatis allows you to update multiple rows using its for-each batch driver. To use this, you need to use the &lt;foreach&gt; in the mapper XML file. For example as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;update id=<span class="code-quote">"batchUpdateAccount"</span> parameterType=<span class="code-quote">"java.util.Map"</span>&gt;</span>
+    update ACCOUNT set
+    ACC_EMAIL = #{emailAddress}
+    where
+    ACC_ID in
+    <span class="code-tag">&lt;foreach item=<span class="code-quote">"Account"</span> collection=<span class="code-quote">"list"</span> open=<span class="code-quote">"("</span> close=<span class="code-quote">")"</span> separator=<span class="code-quote">","</span>&gt;</span>
+        #{Account.id}
+    <span class="code-tag">&lt;/foreach&gt;</span>
+<span class="code-tag">&lt;/update&gt;</span>
+</pre>
+</div></div>
+
+<p>Then you can update multiple rows, by sending a Camel message to the mybatis endpoint which uses the UpdateList statement type, as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+from(<span class="code-quote">"direct:start"</span>)
+    .to(<span class="code-quote">"mybatis:batchUpdateAccount?statementType=UpdateList"</span>)
+    .to(<span class="code-quote">"mock:result"</span>);
+</pre>
+</div></div>
+
+
+<h4><a shape="rect" name="MyBatis-UsingDeleteListStatementType"></a>Using DeleteList StatementType</h4>
+<p><b>Available as of Camel 2.11</b></p>
+
+<p>MyBatis allows you to delete multiple rows using its for-each batch driver. To use this, you need to use the &lt;foreach&gt; in the mapper XML file. For example as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;delete id=<span class="code-quote">"batchDeleteAccountById"</span> parameterType=<span class="code-quote">"java.util.List"</span>&gt;</span>
+    delete from ACCOUNT
+    where
+    ACC_ID in
+    <span class="code-tag">&lt;foreach item=<span class="code-quote">"AccountID"</span> collection=<span class="code-quote">"list"</span> open=<span class="code-quote">"("</span> close=<span class="code-quote">")"</span> separator=<span class="code-quote">","</span>&gt;</span>
+        #{AccountID}
+    <span class="code-tag">&lt;/foreach&gt;</span>
+<span class="code-tag">&lt;/delete&gt;</span>
+</pre>
+</div></div>
+
+<p>Then you can delete multiple rows, by sending a Camel message to the mybatis endpoint which uses the DeleteList statement type, as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+from(<span class="code-quote">"direct:start"</span>)
+    .to(<span class="code-quote">"mybatis:batchDeleteAccount?statementType=DeleteList"</span>)
+    .to(<span class="code-quote">"mock:result"</span>);
+</pre>
+</div></div>
+
+<h4><a shape="rect" name="MyBatis-NoticeonInsertList%2CUpdateListandDeleteListStatementTypes"></a>Notice on InsertList, UpdateList and DeleteList StatementTypes</h4>
+<p>Parameter of any type (List, Map, etc.) can be passed to mybatis and an end user is responsible for handling it as required<br clear="none">
+with the help of <a shape="rect" class="external-link" href="http://www.mybatis.org/core/dynamic-sql.html" rel="nofollow">mybatis dynamic queries</a> capabilities.</p>
+
+
 <h4><a shape="rect" name="MyBatis-Scheduledpollingexample"></a>Scheduled polling example</h4>
 <p>Since this component does not support scheduled polling, you need to use another mechanism for triggering the scheduled polls, such as the <a shape="rect" href="timer.html" title="Timer">Timer</a> or <a shape="rect" href="quartz.html" title="Quartz">Quartz</a> components.</p>
 
@@ -330,6 +389,7 @@ from(<span class="code-quote">"timer:<sp
     <span class="code-tag">&lt;/camelContext&gt;</span>
 </pre>
 </div></div>
+
 <h3><a shape="rect" name="MyBatis-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul>
 </div>