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/03/25 17:20:51 UTC

svn commit: r809957 - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache camel-2100-release.html jdbc.html

Author: buildbot
Date: Sun Mar 25 15:20:50 2012
New Revision: 809957

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-2100-release.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 Mar 25 15:20:50 2012
@@ -2830,6 +2830,7 @@ cxfbean:serviceBeanRef
 <pre class="code-xml"><span class="code-tag">&lt;route&gt;</span>
 	<span class="code-tag">&lt;from ref=<span class="code-quote">"ep1"</span> /&gt;</span>
 	<span class="code-tag">&lt;to uri=<span class="code-quote">"cxfbean:customerServiceBean"</span> /&gt;</span>
+	<span class="code-tag">&lt;to uri=<span class="code-quote">"mock:endpointA"</span> /&gt;</span>
 <span class="code-tag">&lt;/route&gt;</span>
 </pre>
 </div></div>
@@ -7949,10 +7950,19 @@ 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></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></tbody></table>
 </div>
 
 
+<h3><a shape="rect" name="BookComponentAppendix-Generatedkeys"></a>Generated keys</h3>
+<p><b>Available as of Camel 2.10</b></p>
+
+<p>If you insert data using SQL INSERT, then the RDBMS may support auto generated keys. You can instruct the <a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> producer to return the generated keys in headers.<br clear="none">
+To do that set the header <tt>CamelRetrieveGeneratedKeys=true</tt>. Then the generated keys will be provided as headers with the keys listed in the table above.</p>
+
+<p>You can see more details in this <a shape="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>
+
+
 <h3><a shape="rect" name="BookComponentAppendix-Samples"></a>Samples</h3>
 
 <p>In the following example, we fetch the rows from the customer table.</p>

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 Mar 25 15:20:50 2012
@@ -2839,90 +2839,7 @@ mock.allMessages().arrives().noLaterThan
 
 <p>Here is a Camel test support enhanced&#160;<a shape="rect" href="spring-testing.html" title="Spring Testing">Spring Testing</a>&#160;<a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-test-spring/src/test/java/org/apache/camel/test/junit4/CamelSpringJUnit4ClassRunnerPlainTest.java">example using XML Config and pure Spring Test based configuration of the Camel Context</a>.</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">@RunWith(CamelSpringJUnit4ClassRunner.class)
-@ContextConfiguration
-<span class="code-comment">// Put here to prevent Spring context caching across tests and test methods since some tests inherit 
-</span><span class="code-comment">// from <span class="code-keyword">this</span> test and therefore use the same Spring context.  Also because we want to reset the
-</span><span class="code-comment">// Camel context and mock endpoints between test methods automatically.
-</span>@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
-<span class="code-keyword">public</span> class CamelSpringJUnit4ClassRunnerPlainTest {
-    
-    @Autowired
-    <span class="code-keyword">protected</span> CamelContext camelContext;
-    
-    @Autowired
-    <span class="code-keyword">protected</span> CamelContext camelContext2;
-    
-    @EndpointInject(uri = <span class="code-quote">"mock:a"</span>, context = <span class="code-quote">"camelContext"</span>)
-    <span class="code-keyword">protected</span> MockEndpoint mockA;
-    
-    @EndpointInject(uri = <span class="code-quote">"mock:b"</span>, context = <span class="code-quote">"camelContext"</span>)
-    <span class="code-keyword">protected</span> MockEndpoint mockB;
-    
-    @EndpointInject(uri = <span class="code-quote">"mock:c"</span>, context = <span class="code-quote">"camelContext2"</span>)
-    <span class="code-keyword">protected</span> MockEndpoint mockC;
-    
-    @Produce(uri = <span class="code-quote">"direct:start"</span>, context = <span class="code-quote">"camelContext"</span>)
-    <span class="code-keyword">protected</span> ProducerTemplate start;
-    
-    @Produce(uri = <span class="code-quote">"direct:start2"</span>, context = <span class="code-quote">"camelContext2"</span>)
-    <span class="code-keyword">protected</span> ProducerTemplate start2;
-    
-    @Test
-    <span class="code-keyword">public</span> void testPositive() <span class="code-keyword">throws</span> Exception {
-        assertEquals(ServiceStatus.Started, camelContext.getStatus());
-        assertEquals(ServiceStatus.Started, camelContext2.getStatus());
-        
-        mockA.expectedBodiesReceived(<span class="code-quote">"David"</span>);
-        mockB.expectedBodiesReceived(<span class="code-quote">"Hello David"</span>);
-        mockC.expectedBodiesReceived(<span class="code-quote">"David"</span>);
-        
-        start.sendBody(<span class="code-quote">"David"</span>);
-        start2.sendBody(<span class="code-quote">"David"</span>);
-        
-        MockEndpoint.assertIsSatisfied(camelContext);
-    }
-    
-    @Test
-    <span class="code-keyword">public</span> void testJmx() <span class="code-keyword">throws</span> Exception {
-        assertEquals(DefaultManagementStrategy.class, camelContext.getManagementStrategy().getClass());
-    }
-    
-    @Test
-    <span class="code-keyword">public</span> void testShutdownTimeout() <span class="code-keyword">throws</span> Exception {
-        assertEquals(10, camelContext.getShutdownStrategy().getTimeout());
-        assertEquals(TimeUnit.SECONDS, camelContext.getShutdownStrategy().getTimeUnit());
-    }
-    
-    @Test
-    <span class="code-keyword">public</span> void testStopwatch() {
-        StopWatch stopWatch = StopWatchTestExecutionListener.getStopWatch();
-        
-        assertNotNull(stopWatch);
-        assertTrue(stopWatch.taken() &lt; 100);
-    }
-    
-    @Test
-    <span class="code-keyword">public</span> void testExcludedRoute() {
-        assertNotNull(camelContext.getRoute(<span class="code-quote">"excludedRoute"</span>));
-    }
-    
-    @Test
-    <span class="code-keyword">public</span> void testProvidesBreakpoint() {
-        assertNull(camelContext.getDebugger());
-        assertNull(camelContext2.getDebugger());
-    }
-
-    @SuppressWarnings(<span class="code-quote">"deprecation"</span>)
-    @Test
-    <span class="code-keyword">public</span> void testLazyLoadTypeConverters() {
-        assertTrue(camelContext.isLazyLoadTypeConverters());
-        assertTrue(camelContext2.isLazyLoadTypeConverters());
-    }
-}
-</pre>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>Notice how a custom test runner is used with the&#160;<b>@RunWith</b>&#160;annotation to support the features of&#160;<b>CamelTestSupport</b>&#160;through annotations on the test class. &#160;See&#160;<a shape="rect" href="spring-testing.html" title="Spring Testing">Spring Testing</a>&#160;for a list of annotations you can use in your tests.</p>
 
@@ -22899,6 +22816,7 @@ cxfbean:serviceBeanRef
 <pre class="code-xml"><span class="code-tag">&lt;route&gt;</span>
 	<span class="code-tag">&lt;from ref=<span class="code-quote">"ep1"</span> /&gt;</span>
 	<span class="code-tag">&lt;to uri=<span class="code-quote">"cxfbean:customerServiceBean"</span> /&gt;</span>
+	<span class="code-tag">&lt;to uri=<span class="code-quote">"mock:endpointA"</span> /&gt;</span>
 <span class="code-tag">&lt;/route&gt;</span>
 </pre>
 </div></div>
@@ -28018,10 +27936,19 @@ 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></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></tbody></table>
 </div>
 
 
+<h3><a shape="rect" name="BookInOnePage-Generatedkeys"></a>Generated keys</h3>
+<p><b>Available as of Camel 2.10</b></p>
+
+<p>If you insert data using SQL INSERT, then the RDBMS may support auto generated keys. You can instruct the <a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> producer to return the generated keys in headers.<br clear="none">
+To do that set the header <tt>CamelRetrieveGeneratedKeys=true</tt>. Then the generated keys will be provided as headers with the keys listed in the table above.</p>
+
+<p>You can see more details in this <a shape="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>
+
+
 <h3><a shape="rect" name="BookInOnePage-Samples"></a>Samples</h3>
 
 <p>In the following example, we fetch the rows from the customer table.</p>

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

Modified: websites/production/camel/content/camel-2100-release.html
==============================================================================
--- websites/production/camel/content/camel-2100-release.html (original)
+++ websites/production/camel/content/camel-2100-release.html Sun Mar 25 15:20:50 2012
@@ -84,7 +84,7 @@
 
 <p>Welcome to the 2.10.0 release with approximately XXX issues resolved - including new features, improvements, and bug fixes, such as: </p>
 
-<ul><li>Internal code cleanup to reduce warnings reported by Eclipse</li><li>Moved <a shape="rect" href="spring-testing.html" title="Spring Testing">Spring Testing</a> from <tt>camel-test</tt> to <tt>camel-test-spring</tt> component.</li><li>Camel <a shape="rect" href="using-propertyplaceholder.html" title="Using PropertyPlaceholder">Property Placeholders</a> are now supported in embedded <a shape="rect" href="expression.html" title="Expression">Expression</a>s within Camel routes.</li><li>Added missing options in the XML DSL for the <a shape="rect" href="xpath.html" title="XPath">XPath</a> language to control and set which XPath Engine to use, etc.</li><li>Added option <tt>logNamespaces</tt> to the <a shape="rect" href="xpath.html" title="XPath">XPath</a> language to have <tt>INFO</tt> logging of detected namespaces from message.  This can be used to troubleshoot issues where an <a shape="rect" href="xpath.html" title="XPath">XPath</a> expression doesn't work as expected (a
 s it's often a namespace conflict).</li><li>Added <tt>replyToCacheLevelName</tt> option to the <a shape="rect" href="jms.html" title="JMS">JMS</a> component, allowing configuration of cache levels for persistent reply consumers when doing request/reply over JMS. Some message brokers do not work well with caching, so users may need to set this option to <tt>CACHE_NONE</tt>.</li><li>Added <tt>antInclude</tt> and <tt>antExclude</tt> options to <a shape="rect" href="file2.html" title="File2">File</a> and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> components to make it easier to specify include/exclude filters using ANT syntax.</li><li>The <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel archetypes</a> for Java and Scala no longer generate projects with Spring dependencies.</li><li>Improved <tt>JdbcMessageIdRepository</tt> in the <a shape="rect" href="sql-component.html" title="SQL Component">SQL</a> to use custom SQL statements/q
 ueries.</li><li>Added option to <a shape="rect" href="properties.html" title="Properties">Properties</a> to allow silently ignoring property locations not found, such as a .properties file.</li><li>Added <tt>managementNamePattern</tt> attribute to <tt>&lt;camelContext&gt;</tt> to make it very easy to customize and control the JMX naming of the Camel application. See details at <a shape="rect" href="camel-jmx.html#CamelJMX-CamelJMXManagementNamingStrategy">Camel JMX</a>. For example, in OSGi environments you can explicitly configure a <tt>managementNamePattern</tt> in case you do not want the bundleId as part of MBean names.</li><li>Added streaming update support to <a shape="rect" href="solr.html" title="Solr">Solr</a> as well as support for SolrInputDocuments</li><li>Added SolrJ DirectXMLRequest support to <a shape="rect" href="solr.html" title="Solr">Solr</a> to support XML based index updates</li><li>Improved Camel <a shape="rect" href="mail.html" title="Mail">Mail</a> to
  support the <tt>replyTo</tt> option</li><li>Added <tt>traceEnabled</tt> option to <a shape="rect" href="jetty.html" title="Jetty">Jetty</a> component so you have control over whether to allow HTTP TRACE calls against your Jetty endpoints.</li><li>Polished the <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> to let the projects be prepared for <a shape="rect" href="testing.html" title="Testing">Testing</a>, and fixed any WARNs from Maven.</li><li>Added <tt>dumpRouteStatsAsXml</tt> methods to <a shape="rect" href="camel-jmx.html" title="Camel JMX">JMX</a> to make it easier to get the total performance stats as XML, and in one JMX call.</li><li><a shape="rect" href="graceful-shutdown.html" title="Graceful Shutdown">Graceful Shutdown</a> is now more aggressive if timeout occurred during shutdown, rejecting continued processing of messages or redeliveries.</li><li>Add <tt>ShutdownPrepared</tt> SPI to allow custom Servic
 es (also EIPs) in routes to do custom code in preparation for shutdown.</li><li>The <tt>camel-archetype-java</tt> <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> is now a pure Java DSL based project (no longer Spring)</li><li><a shape="rect" href="jms.html" title="JMS">JMS</a> consumer is less verbose when logging uncaught exceptions thrown while processing a message. Added <tt>errorHandlerLoggingLevel</tt>, and <tt>errorHandlerLogStackTrace</tt> options to tweak the logging verbosity.</li><li>Added <tt>messageId</tt> as an <a shape="rect" href="mdc-logging.html" title="MDC logging">MDC logging</a> key.</li><li>Improved Camel's Transaction <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> logging to better pinpoint and correlate redelivered messages (from, e.g., a JMS broker), making the logs much easier to read.</li><li>Added a timeout option to <a shape="rect" href="spring-web-serv
 ices.html" title="Spring Web Services">Spring Web Services</a> for specifying the read timeout while invoking a webservice.</li><li>Optimized <a shape="rect" href="type-converter.html" title="Type Converter">Type Converter</a> registry for possible concurrency contention when looking up a type converter.</li><li>Improved <a shape="rect" href="simple.html" title="Simple">Simple</a> language to work better with floating point numbers in <a shape="rect" href="predicate.html" title="Predicate">Predicate</a>s</li><li>Camel is now less verbose when starting and stopping, with less being logged at <tt>INFO</tt> level.</li><li>Add support for keyed data queues to <a shape="rect" href="jt400.html" title="JT400">JT400</a> component.</li><li><a shape="rect" href="idempotent-consumer.html" title="Idempotent Consumer">Idempotent Consumer</a> is now enlisted in JMX, which allows monitoring the duplicate message count as well as the operation to reset it.</li><li>Thread pools registered in
  <a shape="rect" href="camel-jmx.html" title="Camel JMX">JMX</a> are now unregistered when Camel shuts them down. Note that all MBeans will be unregistered from JMX when Camel shuts itself down. This improvement is to unregister thread pools more eagerly, such as when routes are removed at runtime.</li><li>Camel will now also copy the message headers for a <tt>JmsMessage</tt> if you leverage <tt>useOriginalMessage</tt> in an <tt>onException</tt> definition.</li><li>Added <tt>mockEndpointsAndSkip</tt> to <a shape="rect" href="advicewith.html" title="AdviceWith">AdviceWith</a> and the <a shape="rect" href="testing.html" title="Testing">Test Kit</a></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 filtering directories. The <tt>isDirectory</tt> method on the <tt>GenericFile</tt> class can be used to skip unwanted directories, accelerating file consumption.</li><li><a shape="rect
 " href="smpp.html" title="SMPP">SMPP</a> connections can now be tunneled through an HTTP proxy by configuring HTTP proxy settings.</li><li>Camel now also checks, when starting a route dynamically, whether there would be any violations on multiple consumers from the same <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a>. Previously this check only occurred during Camel startup - now it always happens.</li><li>Stopping a <tt>ConsumerTemplate</tt> or a <tt>ProducerTemplate</tt> will now stop and shutdown its cache to cleanup any resources which otherwise may not have been reclaimed until shutdown.</li><li><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html">ScheduledPollConsumer</a> will now shutdown thread pools more eagerly, such as when stopping a <tt>ConsumerTemplate</tt>.</li><li>Added option <tt>asyncStartListener</tt> to <a shape="rect" href="jms.html" title
 ="JMS">JMS</a> to allow starting JMS consumers (e.g. routes) asynchronously. This can be used to avoid blocking in case the JMS consumer takes long time to establish a connection to the JMS broker.</li><li><a shape="rect" href="wire-tap.html" title="Wire Tap">Wire Tap</a> now supports <a shape="rect" href="error-handling-in-camel.html" title="Error handling in Camel">Error Handling</a> when sending a tapped message to an <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a>.</li><li>Added the autogenColumns, configRef and strategyRef options to the <a shape="rect" href="csv.html" title="CSV">CSV</a> dataformat in XML DSL.</li><li><a shape="rect" href="validation.html" title="Validation">Validator</a> component will now fail with a better error message if resource schema refers to element which cannot be resolved.</li></ul>
+<ul><li>Internal code cleanup to reduce warnings reported by Eclipse</li><li>Moved <a shape="rect" href="spring-testing.html" title="Spring Testing">Spring Testing</a> from <tt>camel-test</tt> to <tt>camel-test-spring</tt> component.</li><li>Camel <a shape="rect" href="using-propertyplaceholder.html" title="Using PropertyPlaceholder">Property Placeholders</a> are now supported in embedded <a shape="rect" href="expression.html" title="Expression">Expression</a>s within Camel routes.</li><li>Added missing options in the XML DSL for the <a shape="rect" href="xpath.html" title="XPath">XPath</a> language to control and set which XPath Engine to use, etc.</li><li>Added option <tt>logNamespaces</tt> to the <a shape="rect" href="xpath.html" title="XPath">XPath</a> language to have <tt>INFO</tt> logging of detected namespaces from message.  This can be used to troubleshoot issues where an <a shape="rect" href="xpath.html" title="XPath">XPath</a> expression doesn't work as expected (a
 s it's often a namespace conflict).</li><li>Added <tt>replyToCacheLevelName</tt> option to the <a shape="rect" href="jms.html" title="JMS">JMS</a> component, allowing configuration of cache levels for persistent reply consumers when doing request/reply over JMS. Some message brokers do not work well with caching, so users may need to set this option to <tt>CACHE_NONE</tt>.</li><li>Added <tt>antInclude</tt> and <tt>antExclude</tt> options to <a shape="rect" href="file2.html" title="File2">File</a> and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> components to make it easier to specify include/exclude filters using ANT syntax.</li><li>The <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel archetypes</a> for Java and Scala no longer generate projects with Spring dependencies.</li><li>Improved <tt>JdbcMessageIdRepository</tt> in the <a shape="rect" href="sql-component.html" title="SQL Component">SQL</a> to use custom SQL statements/q
 ueries.</li><li>Added option to <a shape="rect" href="properties.html" title="Properties">Properties</a> to allow silently ignoring property locations not found, such as a .properties file.</li><li>Added <tt>managementNamePattern</tt> attribute to <tt>&lt;camelContext&gt;</tt> to make it very easy to customize and control the JMX naming of the Camel application. See details at <a shape="rect" href="camel-jmx.html#CamelJMX-CamelJMXManagementNamingStrategy">Camel JMX</a>. For example, in OSGi environments you can explicitly configure a <tt>managementNamePattern</tt> in case you do not want the bundleId as part of MBean names.</li><li>Added streaming update support to <a shape="rect" href="solr.html" title="Solr">Solr</a> as well as support for SolrInputDocuments</li><li>Added SolrJ DirectXMLRequest support to <a shape="rect" href="solr.html" title="Solr">Solr</a> to support XML based index updates</li><li>Improved Camel <a shape="rect" href="mail.html" title="Mail">Mail</a> to
  support the <tt>replyTo</tt> option</li><li>Added <tt>traceEnabled</tt> option to <a shape="rect" href="jetty.html" title="Jetty">Jetty</a> component so you have control over whether to allow HTTP TRACE calls against your Jetty endpoints.</li><li>Polished the <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> to let the projects be prepared for <a shape="rect" href="testing.html" title="Testing">Testing</a>, and fixed any WARNs from Maven.</li><li>Added <tt>dumpRouteStatsAsXml</tt> methods to <a shape="rect" href="camel-jmx.html" title="Camel JMX">JMX</a> to make it easier to get the total performance stats as XML, and in one JMX call.</li><li><a shape="rect" href="graceful-shutdown.html" title="Graceful Shutdown">Graceful Shutdown</a> is now more aggressive if timeout occurred during shutdown, rejecting continued processing of messages or redeliveries.</li><li>Add <tt>ShutdownPrepared</tt> SPI to allow custom Servic
 es (also EIPs) in routes to do custom code in preparation for shutdown.</li><li>The <tt>camel-archetype-java</tt> <a shape="rect" href="camel-maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> is now a pure Java DSL based project (no longer Spring)</li><li><a shape="rect" href="jms.html" title="JMS">JMS</a> consumer is less verbose when logging uncaught exceptions thrown while processing a message. Added <tt>errorHandlerLoggingLevel</tt>, and <tt>errorHandlerLogStackTrace</tt> options to tweak the logging verbosity.</li><li>Added <tt>messageId</tt> as an <a shape="rect" href="mdc-logging.html" title="MDC logging">MDC logging</a> key.</li><li>Improved Camel's Transaction <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> logging to better pinpoint and correlate redelivered messages (from, e.g., a JMS broker), making the logs much easier to read.</li><li>Added a timeout option to <a shape="rect" href="spring-web-serv
 ices.html" title="Spring Web Services">Spring Web Services</a> for specifying the read timeout while invoking a webservice.</li><li>Optimized <a shape="rect" href="type-converter.html" title="Type Converter">Type Converter</a> registry for possible concurrency contention when looking up a type converter.</li><li>Improved <a shape="rect" href="simple.html" title="Simple">Simple</a> language to work better with floating point numbers in <a shape="rect" href="predicate.html" title="Predicate">Predicate</a>s</li><li>Camel is now less verbose when starting and stopping, with less being logged at <tt>INFO</tt> level.</li><li>Add support for keyed data queues to <a shape="rect" href="jt400.html" title="JT400">JT400</a> component.</li><li><a shape="rect" href="idempotent-consumer.html" title="Idempotent Consumer">Idempotent Consumer</a> is now enlisted in JMX, which allows monitoring the duplicate message count as well as the operation to reset it.</li><li>Thread pools registered in
  <a shape="rect" href="camel-jmx.html" title="Camel JMX">JMX</a> are now unregistered when Camel shuts them down. Note that all MBeans will be unregistered from JMX when Camel shuts itself down. This improvement is to unregister thread pools more eagerly, such as when routes are removed at runtime.</li><li>Camel will now also copy the message headers for a <tt>JmsMessage</tt> if you leverage <tt>useOriginalMessage</tt> in an <tt>onException</tt> definition.</li><li>Added <tt>mockEndpointsAndSkip</tt> to <a shape="rect" href="advicewith.html" title="AdviceWith">AdviceWith</a> and the <a shape="rect" href="testing.html" title="Testing">Test Kit</a></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 filtering directories. The <tt>isDirectory</tt> method on the <tt>GenericFile</tt> class can be used to skip unwanted directories, accelerating file consumption.</li><li><a shape="rect
 " href="smpp.html" title="SMPP">SMPP</a> connections can now be tunneled through an HTTP proxy by configuring HTTP proxy settings.</li><li>Camel now also checks, when starting a route dynamically, whether there would be any violations on multiple consumers from the same <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a>. Previously this check only occurred during Camel startup - now it always happens.</li><li>Stopping a <tt>ConsumerTemplate</tt> or a <tt>ProducerTemplate</tt> will now stop and shutdown its cache to cleanup any resources which otherwise may not have been reclaimed until shutdown.</li><li><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html">ScheduledPollConsumer</a> will now shutdown thread pools more eagerly, such as when stopping a <tt>ConsumerTemplate</tt>.</li><li>Added option <tt>asyncStartListener</tt> to <a shape="rect" href="jms.html" title
 ="JMS">JMS</a> to allow starting JMS consumers (e.g. routes) asynchronously. This can be used to avoid blocking in case the JMS consumer takes long time to establish a connection to the JMS broker.</li><li><a shape="rect" href="wire-tap.html" title="Wire Tap">Wire Tap</a> now supports <a shape="rect" href="error-handling-in-camel.html" title="Error handling in Camel">Error Handling</a> when sending a tapped message to an <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a>.</li><li>Added the autogenColumns, configRef and strategyRef options to the <a shape="rect" href="csv.html" title="CSV">CSV</a> dataformat in XML DSL.</li><li><a shape="rect" href="validation.html" title="Validation">Validator</a> component will now fail with a better error message if resource schema refers to element which cannot be resolved.</li><li>Added support for retrieving generated keys from <a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> component.</li></ul>
 
 
 <h3><a shape="rect" name="Camel2.10.0Release-Fixedissues"></a>Fixed issues</h3>

Modified: websites/production/camel/content/jdbc.html
==============================================================================
--- websites/production/camel/content/jdbc.html (original)
+++ websites/production/camel/content/jdbc.html Sun Mar 25 15:20:50 2012
@@ -121,10 +121,19 @@ 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></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></tbody></table>
 </div>
 
 
+<h3><a shape="rect" name="JDBC-Generatedkeys"></a>Generated keys</h3>
+<p><b>Available as of Camel 2.10</b></p>
+
+<p>If you insert data using SQL INSERT, then the RDBMS may support auto generated keys. You can instruct the <a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> producer to return the generated keys in headers.<br clear="none">
+To do that set the header <tt>CamelRetrieveGeneratedKeys=true</tt>. Then the generated keys will be provided as headers with the keys listed in the table above.</p>
+
+<p>You can see more details in this <a shape="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>
+
+
 <h3><a shape="rect" name="JDBC-Samples"></a>Samples</h3>
 
 <p>In the following example, we fetch the rows from the customer table.</p>