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 2013/09/02 13:20:35 UTC

svn commit: r877021 - in /websites/production/camel/content: blueprint-testing.html cache/main.pageCache camel-2120-release.html

Author: buildbot
Date: Mon Sep  2 11:20:35 2013
New Revision: 877021

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/blueprint-testing.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2120-release.html

Modified: websites/production/camel/content/blueprint-testing.html
==============================================================================
--- websites/production/camel/content/blueprint-testing.html (original)
+++ websites/production/camel/content/blueprint-testing.html Mon Sep  2 11:20:35 2013
@@ -181,6 +181,64 @@ If you have multiple OSGi Blueprint XML 
   <scope>test</scope>
 </dependency>
 ]]></script>
+</div></div>
+
+
+<h3><a shape="rect" name="BlueprintTesting-Addingservicesonstartup"></a>Adding services on startup</h3>
+<p><b>Available as of Camel 2.11.2/2.12.0</b></p>
+
+<p>When using <tt>camel-test-blueprint</tt> you may do unit tests which requires using shared services which is not available during unit testing, but only in the real OSGi container, for example a shared <tt>DataSource</tt>.</p>
+
+<p>To make it easier to register services on startup, such as a standalone <tt>DataSource</tt> or any other service, you can override the method <tt>addServicesOnStartup</tt> when your unit test class extends <tt>CamelBlueprintTestSupport</tt>.</p>
+
+<p>In the example below we register a service <tt>org.apache.camel.test.blueprint.MyService</tt> using the name <tt>myService</tt> having a property <tt>beer=Carlsberg</tt>, as shown below:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+    @Override
+    protected void addServicesOnStartup(Map&lt;String, KeyValueHolder&lt;Object, Dictionary&gt;&gt; services) {
+        services.put("myService", asService(myService, "beer", "Carlsberg"));
+    }
+]]></script>
+</div></div>
+
+<p>The asService is a builder method that makes it easy to register a service with a single property. If you need more properties you can use the <tt>asService</tt> method that takes a <tt>Dictionary</tt> as argument. And if you do not need any properties, then just pass in <tt>null</tt>, eg:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+services.put("myService", asService(myService, null));
+]]></script>
+</div></div>
+
+<p>This allows us to use the service by calling a method on it from a Camel <a shape="rect" href="bean.html" title="Bean">Bean</a> component in a route as shown:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+    &lt;route&gt;
+      &lt;from uri="direct:start"/&gt;
+      &lt;to uri="bean:myService"/&gt;
+      &lt;to uri="mock:result"/&gt;
+    &lt;/route&gt;
+]]></script>
+</div></div>
+
+<p>Notice the bean endpoint uses the service name <tt>myService</tt> which was the name we registered the service as. You can also use the fully qualified class name instead, which is more common with OSGi.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+    @Override
+    protected void addServicesOnStartup(Map&lt;String, KeyValueHolder&lt;Object, Dictionary&gt;&gt; services) {
+        services.put(MyService.class.getName(), asService(myService, "beer", "Carlsberg"));
+    }
+]]></script>
+</div></div>
+
+<p>And in the route we use the FQN name:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+    &lt;route&gt;
+      &lt;from uri="direct:start"/&gt;
+      &lt;to uri="bean:org.apache.camel.test.blueprint.MyService"/&gt;
+      &lt;to uri="mock:result"/&gt;
+    &lt;/route&gt;
+]]></script>
 </div></div></div>
         </td>
         <td valign="top">

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

Modified: websites/production/camel/content/camel-2120-release.html
==============================================================================
--- websites/production/camel/content/camel-2120-release.html (original)
+++ websites/production/camel/content/camel-2120-release.html Mon Sep  2 11:20:35 2013
@@ -94,7 +94,7 @@
 
 <p>Welcome to the 2.12.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p>
 
-<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint Annotations">Endpoint Annotations</a> along with automatically created HTML documentation for the endpoint parameters; this makes it easier for component developers to add a few refactoring-safe annotations to their Endpoint or Consumer implementations and, (along with javadoc comments on the field or setter method), get nice user documentation on how to use the endpoint for free.</li><li><a shape="rect" href="componentconfiguration.html" title="ComponentConfiguration">ComponentConfiguration</a> API provides a handy API for tools developers to introspect on a Component to find all the possible parameters, their types and any extra annotations (like Bean Validation Annotations) to be able to create/edit endpoints or URI strings so that tools can generate nicer UIs for configuring endpoints than just letting folks edit Strings.</li><li><a shape="rect" href="endpointcompleter.html" title="EndpointCompleter">Endpoi
 ntCompleter</a> API provides a hook so that command line tools (like <a shape="rect" class="external-link" href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html">Karaf's shell</a>), IDEs and web tools can get (bash tab like) auto-completion on endpoint paths (such as file or directory names, message queue names, database table names) when creating or using new endpoints</li><li>Reduced stack-frames in use during routing, that also makes Camel's stack traces being logged much less verbose. This also allows people to easier debug the internals of Camel as less <tt>AsyncCallback</tt> callbacks are in use during routing.</li><li>Easy to use <a shape="rect" href="message-history.html" title="Message History">Message History</a> out of the box. And included message history as "route stack-trace" when exceptions logged by <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> to make it easier for end users to spot where the exception o
 ccurred.</li><li><a shape="rect" href="spring-web-services.html" title="Spring Web Services">Spring Web Services</a> now supports setting/receiving SOAP headers more easily using a header on the Camel <a shape="rect" href="message.html" title="Message">Message</a>.</li><li>Evaluating <a shape="rect" href="groovy.html" title="Groovy">Groovy</a> expressions is faster as we cache the compiled scripts.</li><li>Added <tt>base64</tt> option to <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> to allow transferring security token over <a shape="rect" href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded representation.</li><li>Made it easier to use <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> as the credentials can be provided in headers, when sending a message to a secured route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a> now supports enums.</li><li>Added new <a shape="re
 ct" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> to perform live debugging of messages during routing. The <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> has JMX API allows tooling to control the debugger.</li><li>While using the <a shape="rect" class="external-link" href="http://xircles.codehaus.org/projects/jackson" rel="nofollow">Jackson library</a> through the <a shape="rect" href="json.html" title="JSON">JSON</a> Dataformat there's now a <tt>jsonView</tt> attribute you could make use of directly inside the <a shape="rect" href="dsl.html" title="DSL">DSL</a> itself.</li><li><a shape="rect" href="smpp.html" title="SMPP">SMPP</a> now supports optional parameters in all commands where they are possible.</li><li><a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> now supports named parameters.</li><li>Added timeout support for <a shape="rect" href="direct.html" title="Direct">Direct</a> producers to wait for cons
 umer to become active.</li><li>Added <tt>stats</tt> action to <a shape="rect" href="controlbus.html" title="ControlBus">ControlBus</a> to easily get performance statics in a single XML message.</li><li>Added support for request timeout on <a shape="rect" href="netty.html" title="Netty">Netty</a> producer, and to configure logging level on <a shape="rect" href="netty.html" title="Netty">Netty</a> consumer to be less noisy for ChannelClosedException which can flood the logs when client disconnects abruptly.</li><li><a shape="rect" href="springbatch.html" title="SpringBatch">Spring Batch</a> component producer now returns the <tt>JobExecution</tt> instance as the output message. Users can use the <tt>JobExecution</tt> instance to perform some operations using the Spring Batch API directly.</li><li>Added support for NULL values in <a shape="rect" href="sql-component.html" title="SQL Component">SQL</a> with named parameters.</li><li>Optimized <a shape="rect" href="jetty.html" title="Jett
 y">Jetty</a> streaming responses in non-chunked mode; and as well using buffer sizes based on <tt>HttpServletResponse.getBufferSize()</tt> instead of fixed size of 4kb.</li><li>Added <tt>greedy</tt> option to <a shape="rect" href="polling-consumer.html" title="Polling Consumer">scheduled polling consumer</a>.</li><li>Added support for accessing the length field on Java arrays in <a shape="rect" href="simple.html" title="Simple">Simple</a> language.</li><li>Added support for using JAXB annotations with Camel's Jackson <a shape="rect" href="json.html" title="JSON">JSON</a> component.</li><li>Added the ability for <a shape="rect" href="bindy.html" title="Bindy">Bindy</a> to skip content when parsing fixed-length records.</li><li><a shape="rect" href="mongodb.html" title="MongoDB">MongoDB</a> now supports aggregation queries.</li><li><a shape="rect" href="netty.html" title="Netty">Netty</a> allows to use shared Netty boss and worker thread pools.</li><li>The <a shape="rect" href="camel-
 maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> for component and data format now packages as OSGi bundles out of the box.</li><li>Easier <a shape="rect" href="stream-caching.html" title="Stream caching">Stream caching</a> configuration using <tt>StreamCachingStrategy</tt>. Also allows spool directory per <a shape="rect" href="camelcontext.html" title="CamelContext">CamelContext</a> instead of shared per JVM. And insight at runtime using JMX management. As well allowing to plugin 3rd party implementations.</li><li>Improved <a shape="rect" href="netty.html" title="Netty">Netty</a> to be able to join an UDP multicast group.</li><li>Using Camel <a shape="rect" href="spring.html" title="Spring">Spring</a> is now setting up Camel routes later in the process allow Spring to complete all of its dependency injection, before Camel <tt>RouteBuilder</tt> instances is configured. This allows to safely use Spring dependency injection in these <tt>RouteBuilder</tt
 > classes.</li><li>Services in a <a shape="rect" href="camelcontext.html" title="CamelContext">CamelContext</a> which can only be enlisted once (eg it similar to a static in a JVM) has simpler and fixed MBean names in JMX.</li><li><a shape="rect" href="sql-component.html" title="SQL Component">JDBC based aggregation repository</a> for the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a> EIP now supports optimistic locking, allows clustered Camel applications to use a shared database for the aggregation repository.</li><li><a shape="rect" href="recipient-list.html" title="Recipient List">Recipient List</a> stores a property (<tt>Exchange.RECIPIENT_LIST_ENDPOINT</tt>) on the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> with the <a shape="rect" href="uris.html" title="URIs">URIs</a> of the <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a> the message was sent to.</li><li>Added <tt>mask</tt> option to <a shape="rect" href="
 camel-jmx.html" title="Camel JMX">Camel JMX</a> to hide sensitive information such as passwords.</li><li>Added <tt>outputType</tt> option supporting <tt>SelectList</tt>, and <tt>SelectOne</tt> to <a shape="rect" href="sql-component.html" title="SQL Component">SQL Component</a> to dictate the output message body type when doing SQL SELECT queries.</li><li><a shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling Consumer</a>s such as <a shape="rect" href="file2.html" title="File2">File</a>, and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> now supports using custom scheduler. Providing a new <a shape="rect" href="quartz2.html" title="Quartz2">Quartz2</a>, and <a shape="rect" href="spring.html" title="Spring">Spring</a> based out of the box, that allows to use CRON based scheduler.</li><li><a shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling Consumer</a>s such as <a shape="rect" href="file2.html" title="File2">File</a>, and <a shape
 ="rect" href="ftp2.html" title="FTP2">FTP</a> now supports <em>backoff</em>, to let the consumer be less aggressive, when there has been no messages to poll, or errors keeps occurring for a while.</li><li>Added support for XML Encryption 1.1 algorithms in the <a shape="rect" href="xmlsecurity-dataformat.html" title="XMLSecurity DataFormat">XMLSecurity data format</a>. It is now possible to specify stronger digest algorithms when using RSA OAEP Key Transport algorithms.</li><li><a shape="rect" href="netty.html" title="Netty">Netty</a> consumer now unbinds/binds the acceptor when the route is suspended/resumed.</li><li><a shape="rect" href="eip.html" title="EIP">EIP</a>s supporting <tt>AggregationStrategy</tt> such as <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a>, <a shape="rect" href="splitter.html" title="Splitter">Splitter</a>, <a shape="rect" href="content-enricher.html" title="Content Enricher">Content Enricher</a> now supports using a POJO as the <tt>
 AggregationStrategy</tt>, which allows to implement the aggregate logic with no Camel API dependency. See more details at the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a> page.</li><li><tt>camel-jpa</tt> upgraded to use native JPA API instead of Springs deprecated JpaTemplate</li><li>Improved validation of routes being misconfigured on startup, when using <tt>onException</tt>, <tt>onCompletion</tt>, <tt>transacted</tt>, etc. as they must be configured as top-level on the route (eg in the start), and not later (such as nested in a <a shape="rect" href="splitter.html" title="Splitter">Splitter</a>).</li><li>Added new @PropertyInject annotation to inject <a shape="rect" href="using-propertyplaceholder.html" title="Using PropertyPlaceholder">property placeholders</a> to POJOs</li><li>New class <tt>org.apache.camel.util.toolbox.AggregationStrategies</tt> as a starting point to obtain commonly used Aggregation Strategies for Multicast, Splitter, Aggregator, et
 c. EIPs.</li><li>New <tt>FlexibleAggregationStrategy</tt> serving as a one-stop to perform typical aggregation strategy logic out-of-the-box: filtering results, storing them in properties, headers or bodies, as a list, casting results, etc.</li><li>Improved performance when doing <a shape="rect" href="bean.html" title="Bean">Bean</a> method calls using <a shape="rect" href="simple.html" title="Simple">Simple</a> OGNL calls</li><li>Improved <a shape="rect" href="dozer-type-conversion.html" title="Dozer Type Conversion">Dozer Type Conversion</a> to work better with OSGi Blueprint (though Dozer 5.5 may be required to work even better)</li><li><a shape="rect" href="jms.html" title="JMS">JMS</a> now also enlists topic destinations as managed endpoints in <a shape="rect" href="camel-jmx.html" title="Camel JMX">JMX</a></li><li><a shape="rect" href="graceful-shutdown.html" title="Graceful Shutdown">Graceful Shutdown</a> now allows to suppress logging after <tt>CamelContext</tt> has been sto
 pped, due to a timeout hit, and there may still be inflight <a shape="rect" href="exchange.html" title="Exchange">Exchange</a>s that may afterwards be rejected being executed and causing WARN logs; which now can be suppressed.</li></ul>
+<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint Annotations">Endpoint Annotations</a> along with automatically created HTML documentation for the endpoint parameters; this makes it easier for component developers to add a few refactoring-safe annotations to their Endpoint or Consumer implementations and, (along with javadoc comments on the field or setter method), get nice user documentation on how to use the endpoint for free.</li><li><a shape="rect" href="componentconfiguration.html" title="ComponentConfiguration">ComponentConfiguration</a> API provides a handy API for tools developers to introspect on a Component to find all the possible parameters, their types and any extra annotations (like Bean Validation Annotations) to be able to create/edit endpoints or URI strings so that tools can generate nicer UIs for configuring endpoints than just letting folks edit Strings.</li><li><a shape="rect" href="endpointcompleter.html" title="EndpointCompleter">Endpoi
 ntCompleter</a> API provides a hook so that command line tools (like <a shape="rect" class="external-link" href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html">Karaf's shell</a>), IDEs and web tools can get (bash tab like) auto-completion on endpoint paths (such as file or directory names, message queue names, database table names) when creating or using new endpoints</li><li>Reduced stack-frames in use during routing, that also makes Camel's stack traces being logged much less verbose. This also allows people to easier debug the internals of Camel as less <tt>AsyncCallback</tt> callbacks are in use during routing.</li><li>Easy to use <a shape="rect" href="message-history.html" title="Message History">Message History</a> out of the box. And included message history as "route stack-trace" when exceptions logged by <a shape="rect" href="error-handler.html" title="Error Handler">Error Handler</a> to make it easier for end users to spot where the exception o
 ccurred.</li><li><a shape="rect" href="spring-web-services.html" title="Spring Web Services">Spring Web Services</a> now supports setting/receiving SOAP headers more easily using a header on the Camel <a shape="rect" href="message.html" title="Message">Message</a>.</li><li>Evaluating <a shape="rect" href="groovy.html" title="Groovy">Groovy</a> expressions is faster as we cache the compiled scripts.</li><li>Added <tt>base64</tt> option to <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> to allow transferring security token over <a shape="rect" href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded representation.</li><li>Made it easier to use <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro Security</a> as the credentials can be provided in headers, when sending a message to a secured route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a> now supports enums.</li><li>Added new <a shape="re
 ct" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> to perform live debugging of messages during routing. The <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> has JMX API allows tooling to control the debugger.</li><li>While using the <a shape="rect" class="external-link" href="http://xircles.codehaus.org/projects/jackson" rel="nofollow">Jackson library</a> through the <a shape="rect" href="json.html" title="JSON">JSON</a> Dataformat there's now a <tt>jsonView</tt> attribute you could make use of directly inside the <a shape="rect" href="dsl.html" title="DSL">DSL</a> itself.</li><li><a shape="rect" href="smpp.html" title="SMPP">SMPP</a> now supports optional parameters in all commands where they are possible.</li><li><a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> now supports named parameters.</li><li>Added timeout support for <a shape="rect" href="direct.html" title="Direct">Direct</a> producers to wait for cons
 umer to become active.</li><li>Added <tt>stats</tt> action to <a shape="rect" href="controlbus.html" title="ControlBus">ControlBus</a> to easily get performance statics in a single XML message.</li><li>Added support for request timeout on <a shape="rect" href="netty.html" title="Netty">Netty</a> producer, and to configure logging level on <a shape="rect" href="netty.html" title="Netty">Netty</a> consumer to be less noisy for ChannelClosedException which can flood the logs when client disconnects abruptly.</li><li><a shape="rect" href="springbatch.html" title="SpringBatch">Spring Batch</a> component producer now returns the <tt>JobExecution</tt> instance as the output message. Users can use the <tt>JobExecution</tt> instance to perform some operations using the Spring Batch API directly.</li><li>Added support for NULL values in <a shape="rect" href="sql-component.html" title="SQL Component">SQL</a> with named parameters.</li><li>Optimized <a shape="rect" href="jetty.html" title="Jett
 y">Jetty</a> streaming responses in non-chunked mode; and as well using buffer sizes based on <tt>HttpServletResponse.getBufferSize()</tt> instead of fixed size of 4kb.</li><li>Added <tt>greedy</tt> option to <a shape="rect" href="polling-consumer.html" title="Polling Consumer">scheduled polling consumer</a>.</li><li>Added support for accessing the length field on Java arrays in <a shape="rect" href="simple.html" title="Simple">Simple</a> language.</li><li>Added support for using JAXB annotations with Camel's Jackson <a shape="rect" href="json.html" title="JSON">JSON</a> component.</li><li>Added the ability for <a shape="rect" href="bindy.html" title="Bindy">Bindy</a> to skip content when parsing fixed-length records.</li><li><a shape="rect" href="mongodb.html" title="MongoDB">MongoDB</a> now supports aggregation queries.</li><li><a shape="rect" href="netty.html" title="Netty">Netty</a> allows to use shared Netty boss and worker thread pools.</li><li>The <a shape="rect" href="camel-
 maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven Archetypes</a> for component and data format now packages as OSGi bundles out of the box.</li><li>Easier <a shape="rect" href="stream-caching.html" title="Stream caching">Stream caching</a> configuration using <tt>StreamCachingStrategy</tt>. Also allows spool directory per <a shape="rect" href="camelcontext.html" title="CamelContext">CamelContext</a> instead of shared per JVM. And insight at runtime using JMX management. As well allowing to plugin 3rd party implementations.</li><li>Improved <a shape="rect" href="netty.html" title="Netty">Netty</a> to be able to join an UDP multicast group.</li><li>Using Camel <a shape="rect" href="spring.html" title="Spring">Spring</a> is now setting up Camel routes later in the process allow Spring to complete all of its dependency injection, before Camel <tt>RouteBuilder</tt> instances is configured. This allows to safely use Spring dependency injection in these <tt>RouteBuilder</tt
 > classes.</li><li>Services in a <a shape="rect" href="camelcontext.html" title="CamelContext">CamelContext</a> which can only be enlisted once (eg it similar to a static in a JVM) has simpler and fixed MBean names in JMX.</li><li><a shape="rect" href="sql-component.html" title="SQL Component">JDBC based aggregation repository</a> for the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a> EIP now supports optimistic locking, allows clustered Camel applications to use a shared database for the aggregation repository.</li><li><a shape="rect" href="recipient-list.html" title="Recipient List">Recipient List</a> stores a property (<tt>Exchange.RECIPIENT_LIST_ENDPOINT</tt>) on the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> with the <a shape="rect" href="uris.html" title="URIs">URIs</a> of the <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a> the message was sent to.</li><li>Added <tt>mask</tt> option to <a shape="rect" href="
 camel-jmx.html" title="Camel JMX">Camel JMX</a> to hide sensitive information such as passwords.</li><li>Added <tt>outputType</tt> option supporting <tt>SelectList</tt>, and <tt>SelectOne</tt> to <a shape="rect" href="sql-component.html" title="SQL Component">SQL Component</a> to dictate the output message body type when doing SQL SELECT queries.</li><li><a shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling Consumer</a>s such as <a shape="rect" href="file2.html" title="File2">File</a>, and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> now supports using custom scheduler. Providing a new <a shape="rect" href="quartz2.html" title="Quartz2">Quartz2</a>, and <a shape="rect" href="spring.html" title="Spring">Spring</a> based out of the box, that allows to use CRON based scheduler.</li><li><a shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling Consumer</a>s such as <a shape="rect" href="file2.html" title="File2">File</a>, and <a shape
 ="rect" href="ftp2.html" title="FTP2">FTP</a> now supports <em>backoff</em>, to let the consumer be less aggressive, when there has been no messages to poll, or errors keeps occurring for a while.</li><li>Added support for XML Encryption 1.1 algorithms in the <a shape="rect" href="xmlsecurity-dataformat.html" title="XMLSecurity DataFormat">XMLSecurity data format</a>. It is now possible to specify stronger digest algorithms when using RSA OAEP Key Transport algorithms.</li><li><a shape="rect" href="netty.html" title="Netty">Netty</a> consumer now unbinds/binds the acceptor when the route is suspended/resumed.</li><li><a shape="rect" href="eip.html" title="EIP">EIP</a>s supporting <tt>AggregationStrategy</tt> such as <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a>, <a shape="rect" href="splitter.html" title="Splitter">Splitter</a>, <a shape="rect" href="content-enricher.html" title="Content Enricher">Content Enricher</a> now supports using a POJO as the <tt>
 AggregationStrategy</tt>, which allows to implement the aggregate logic with no Camel API dependency. See more details at the <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregate</a> page.</li><li><tt>camel-jpa</tt> upgraded to use native JPA API instead of Springs deprecated JpaTemplate</li><li>Improved validation of routes being misconfigured on startup, when using <tt>onException</tt>, <tt>onCompletion</tt>, <tt>transacted</tt>, etc. as they must be configured as top-level on the route (eg in the start), and not later (such as nested in a <a shape="rect" href="splitter.html" title="Splitter">Splitter</a>).</li><li>Added new @PropertyInject annotation to inject <a shape="rect" href="using-propertyplaceholder.html" title="Using PropertyPlaceholder">property placeholders</a> to POJOs</li><li>New class <tt>org.apache.camel.util.toolbox.AggregationStrategies</tt> as a starting point to obtain commonly used Aggregation Strategies for Multicast, Splitter, Aggregator, et
 c. EIPs.</li><li>New <tt>FlexibleAggregationStrategy</tt> serving as a one-stop to perform typical aggregation strategy logic out-of-the-box: filtering results, storing them in properties, headers or bodies, as a list, casting results, etc.</li><li>Improved performance when doing <a shape="rect" href="bean.html" title="Bean">Bean</a> method calls using <a shape="rect" href="simple.html" title="Simple">Simple</a> OGNL calls</li><li>Improved <a shape="rect" href="dozer-type-conversion.html" title="Dozer Type Conversion">Dozer Type Conversion</a> to work better with OSGi Blueprint (though Dozer 5.5 may be required to work even better)</li><li><a shape="rect" href="jms.html" title="JMS">JMS</a> now also enlists topic destinations as managed endpoints in <a shape="rect" href="camel-jmx.html" title="Camel JMX">JMX</a></li><li><a shape="rect" href="graceful-shutdown.html" title="Graceful Shutdown">Graceful Shutdown</a> now allows to suppress logging after <tt>CamelContext</tt> has been sto
 pped, due to a timeout hit, and there may still be inflight <a shape="rect" href="exchange.html" title="Exchange">Exchange</a>s that may afterwards be rejected being executed and causing WARN logs; which now can be suppressed.</li><li>Made it easy to add custom services on startup when testing with <a shape="rect" href="blueprint-testing.html" title="Blueprint Testing">Blueprint Testing</a>.</li></ul>
 
 
 <h3><a shape="rect" name="Camel2.12.0Release-FixedIssues"></a>Fixed Issues</h3>