Author: buildbot Date: Tue Oct 30 16:20:38 2012 New Revision: 836608 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/aggregator2.html websites/production/camel/content/book-in-one-page.html websites/production/camel/content/book-pattern-appendix.html websites/production/camel/content/cache/main.pageCache websites/production/camel/content/camel-2110-release.html Modified: websites/production/camel/content/aggregator2.html ============================================================================== --- websites/production/camel/content/aggregator2.html (original) +++ websites/production/camel/content/aggregator2.html Tue Oct 30 16:20:38 2012 @@ -388,6 +388,28 @@ You must <b>not</b> throw any exceptions <p><b>Available as of Camel 2.9</b><br clear="none"> You can manually complete all current aggregated exchanges by sending in a message containing the header Exchange.AGGREGATION_COMPLETE_ALL_GROUPS set to true. The message is considered a signal message only, the message headers/contents will not be processed otherwise.</p> +<h4><a shape="rect" name="Aggregator2-UsingaList%3CV%3EinAggregationStrategy"></a>Using a List<V> in AggregationStrategy</h4> +<p><b>Available as of Camel 2.11</b></p> + +<p>If you want to aggregate some value from the messages <V> into a List<V> then we have added a <tt>org.apache.camel.processor.aggregate.AbstractListAggregationStrategy</tt> abstract class in <b>Camel 2.11</b> that makes this easier. The completed Exchange that is sent out of the aggregator will contain the List<V> in the message body.</p> + +<p>For example to aggregate a List<Integer> you can extend this class as shown below, and implement the <tt>getValue</tt> method:</p> +<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<pre class="code-java">/** + * Our strategy just group a list of integers. + */ +<span class="code-keyword">public</span> <span class="code-keyword">final</span> class MyListOfNumbersStrategy <span class="code-keyword">extends</span> AbstractListAggregationStrategy<<span class="code-object">Integer</span>> { + + @Override + <span class="code-keyword">public</span> <span class="code-object">Integer</span> getValue(Exchange exchange) { + <span class="code-comment">// the message body contains a number, so just <span class="code-keyword">return</span> that as-is +</span> <span class="code-keyword">return</span> exchange.getIn().getBody(<span class="code-object">Integer</span>.class); + } +} +</pre> +</div></div> + + <h3><a shape="rect" name="Aggregator2-Seealso"></a>See also</h3> <ul class="alternate" type="square"><li>The <a shape="rect" href="loan-broker-example.html" title="Loan Broker Example">Loan Broker Example</a> which uses an aggregator</li><li><a shape="rect" class="external-link" href="http://tmielke.blogspot.com/2009/01/using-camel-aggregator-correctly.html" rel="nofollow">Blog post by Torsten Mielke</a> about using the aggregator correctly.</li><li>The old <a shape="rect" href="aggregator.html" title="Aggregator">Aggregator</a></li><li><a shape="rect" href="hawtdb.html" title="HawtDB">HawtDB</a> or <a shape="rect" href="sql-component.html" title="SQL Component">SQL Component</a> for persistence support</li><li><a shape="rect" href="aggregate-example.html" title="Aggregate Example">Aggregate Example</a> for an example application</li></ul> </div> 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 Tue Oct 30 16:20:38 2012 @@ -16810,6 +16810,28 @@ You must <b>not</b> throw any exceptions <p><b>Available as of Camel 2.9</b><br clear="none"> You can manually complete all current aggregated exchanges by sending in a message containing the header Exchange.AGGREGATION_COMPLETE_ALL_GROUPS set to true. The message is considered a signal message only, the message headers/contents will not be processed otherwise.</p> +<h4><a shape="rect" name="BookInOnePage-UsingaList%3CV%3EinAggregationStrategy"></a>Using a List<V> in AggregationStrategy</h4> +<p><b>Available as of Camel 2.11</b></p> + +<p>If you want to aggregate some value from the messages <V> into a List<V> then we have added a <tt>org.apache.camel.processor.aggregate.AbstractListAggregationStrategy</tt> abstract class in <b>Camel 2.11</b> that makes this easier. The completed Exchange that is sent out of the aggregator will contain the List<V> in the message body.</p> + +<p>For example to aggregate a List<Integer> you can extend this class as shown below, and implement the <tt>getValue</tt> method:</p> +<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<pre class="code-java">/** + * Our strategy just group a list of integers. + */ +<span class="code-keyword">public</span> <span class="code-keyword">final</span> class MyListOfNumbersStrategy <span class="code-keyword">extends</span> AbstractListAggregationStrategy<<span class="code-object">Integer</span>> { + + @Override + <span class="code-keyword">public</span> <span class="code-object">Integer</span> getValue(Exchange exchange) { + <span class="code-comment">// the message body contains a number, so just <span class="code-keyword">return</span> that as-is +</span> <span class="code-keyword">return</span> exchange.getIn().getBody(<span class="code-object">Integer</span>.class); + } +} +</pre> +</div></div> + + <h3><a shape="rect" name="BookInOnePage-Seealso"></a>See also</h3> <ul class="alternate" type="square"><li>The <a shape="rect" href="loan-broker-example.html" title="Loan Broker Example">Loan Broker Example</a> which uses an aggregator</li><li><a shape="rect" class="external-link" href="http://tmielke.blogspot.com/2009/01/using-camel-aggregator-correctly.html" rel="nofollow">Blog post by Torsten Mielke</a> about using the aggregator correctly.</li><li>The old <a shape="rect" href="aggregator.html" title="Aggregator">Aggregator</a></li><li><a shape="rect" href="hawtdb.html" title="HawtDB">HawtDB</a> or <a shape="rect" href="sql-component.html" title="SQL Component">SQL Component</a> for persistence support</li><li><a shape="rect" href="aggregate-example.html" title="Aggregate Example">Aggregate Example</a> for an example application</li></ul> Modified: websites/production/camel/content/book-pattern-appendix.html ============================================================================== --- websites/production/camel/content/book-pattern-appendix.html (original) +++ websites/production/camel/content/book-pattern-appendix.html Tue Oct 30 16:20:38 2012 @@ -2557,6 +2557,28 @@ You must <b>not</b> throw any exceptions <p><b>Available as of Camel 2.9</b><br clear="none"> You can manually complete all current aggregated exchanges by sending in a message containing the header Exchange.AGGREGATION_COMPLETE_ALL_GROUPS set to true. The message is considered a signal message only, the message headers/contents will not be processed otherwise.</p> +<h4><a shape="rect" name="BookPatternAppendix-UsingaList%3CV%3EinAggregationStrategy"></a>Using a List<V> in AggregationStrategy</h4> +<p><b>Available as of Camel 2.11</b></p> + +<p>If you want to aggregate some value from the messages <V> into a List<V> then we have added a <tt>org.apache.camel.processor.aggregate.AbstractListAggregationStrategy</tt> abstract class in <b>Camel 2.11</b> that makes this easier. The completed Exchange that is sent out of the aggregator will contain the List<V> in the message body.</p> + +<p>For example to aggregate a List<Integer> you can extend this class as shown below, and implement the <tt>getValue</tt> method:</p> +<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<pre class="code-java">/** + * Our strategy just group a list of integers. + */ +<span class="code-keyword">public</span> <span class="code-keyword">final</span> class MyListOfNumbersStrategy <span class="code-keyword">extends</span> AbstractListAggregationStrategy<<span class="code-object">Integer</span>> { + + @Override + <span class="code-keyword">public</span> <span class="code-object">Integer</span> getValue(Exchange exchange) { + <span class="code-comment">// the message body contains a number, so just <span class="code-keyword">return</span> that as-is +</span> <span class="code-keyword">return</span> exchange.getIn().getBody(<span class="code-object">Integer</span>.class); + } +} +</pre> +</div></div> + + <h3><a shape="rect" name="BookPatternAppendix-Seealso"></a>See also</h3> <ul class="alternate" type="square"><li>The <a shape="rect" href="loan-broker-example.html" title="Loan Broker Example">Loan Broker Example</a> which uses an aggregator</li><li><a shape="rect" class="external-link" href="http://tmielke.blogspot.com/2009/01/using-camel-aggregator-correctly.html" rel="nofollow">Blog post by Torsten Mielke</a> about using the aggregator correctly.</li><li>The old <a shape="rect" href="aggregator.html" title="Aggregator">Aggregator</a></li><li><a shape="rect" href="hawtdb.html" title="HawtDB">HawtDB</a> or <a shape="rect" href="sql-component.html" title="SQL Component">SQL Component</a> for persistence support</li><li><a shape="rect" href="aggregate-example.html" title="Aggregate Example">Aggregate Example</a> for an example application</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 Tue Oct 30 16:20:38 2012 @@ -84,7 +84,7 @@ <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></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<V> using a custom <tt>AggregationStrategy</tt>.</li></ul> <h3><a shape="rect" name="Camel2.11.0Release-Fixedissues"></a>Fixed issues</h3>