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 2014/03/10 00:18:55 UTC

svn commit: r900797 [3/9] - in /websites/production/camel/content: ./ cache/

Modified: websites/production/camel/content/camel-220-release.html
==============================================================================
--- websites/production/camel/content/camel-220-release.html (original)
+++ websites/production/camel/content/camel-220-release.html Sun Mar  9 23:18:55 2014
@@ -86,159 +86,25 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.2.0Release-Camel2.2.0release">Camel 2.2.0 release</h1>
-
-<div style="padding-right:20px;float:left;margin-left:-20px;">
-<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div>
-<div style="min-height:200px"></div>
-
-<h2 id="Camel2.2.0Release-NewandNoteworthy">New and Noteworthy</h2>
-
-<p>Welcome to the 2.2.0 release which approx 180 issues resolved (new features, improvements and bug fixes such as...)</p>
-
-<ul><li><a shape="rect" href="routing-slip.html">Routing Slip</a> now breaks when an exception occurred</li><li><a shape="rect" href="mina.html">Mina</a> now supports easier configuration of multiple custom codecs, which is needed when working with SSL.</li><li>Improved <a shape="rect" href="transactionerrorhandler.html">TransactionErrorHandler</a> two fold by reducing complexity of internal logic in Camel when working with transactions. And added better support for using multiple transactions in multiple routes. See more at section <em>Using multiple routes with different propagation behaviors</em> at <a shape="rect" href="transactional-client.html">Transactional Client</a>.</li><li><a shape="rect" href="recipient-list.html">Recipient List</a> now supports <code>parallelProcessing</code>, <code>stopOnException</code> and references for <code>AggregationStrategy</code> and thread pools. This applies to the <code>@RecipientList</code> annotation as well.</li><li>Cleanup of spring jar
  dependencies.</li><li><a shape="rect" href="file-language.html">File Language</a> is now merged directly into <a shape="rect" href="simple.html">Simple</a> language which among others makes <a shape="rect" href="content-based-router.html">Content Based Router</a> in Spring XML using file language syntax easier.</li><li><a shape="rect" href="http.html">HTTP</a> is now using CamelContext Properties instead of System Properties to set the http proxy configuration.</li><li>Fixed <a shape="rect" href="using-camelproxy.html">Camel Proxy</a> throwing exception if <code>null</code> was returned.</li><li>Improved error handling with <a shape="rect" href="recipient-list.html">Recipient List</a> and <a shape="rect" href="multicast.html">Multicast</a> which now performs redelivery etc. on that <em>output</em> node instead of starting again from the scratch.</li><li>Improved the <a shape="rect" href="etl-example.html">ETL EXAMPLE</a> and <a shape="rect" href="bam-example.html">BAM EXAMPLE</a> s
 o they can be deployed into ServiceMix4(Karaf).</li><li><a shape="rect" href="seda.html">SEDA</a> now supports <code>multipleConsumers</code> which allows you to use it for pub-sub messaging where each consumer concurrently will receive a copy of the <a shape="rect" href="exchange.html">Exchange</a>. This is done with the help from <a shape="rect" href="multicast.html">Multicast</a> EIP.</li><li><a shape="rect" href="defaulterrorhandler.html">DefaultErrorHandler</a> will now log a log line at <code>ERROR</code> level in case an Exception was thrown which could not be redelivered either. This aid to see that an Exception occurred instead of relying on the client logging it. You can customize this behavior on the <a shape="rect" href="error-handler.html">Error Handler</a>.</li><li>Fixed <code>groupedExchange</code> not working properly on <a shape="rect" href="aggregator.html">Aggregator</a>.</li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a> which ensures Cam
 el now shutdown in a more reliable and graceful manner. This also works with in memory components such as <a shape="rect" href="seda.html">SEDA</a>.</li><li>Added new <code><a shape="rect" href="logeip.html">log</a></code> in the DSL for dynamic human readable log messages.</li><li>Camel now supports Spring 3.0 as well (will still use Camel 2.5.6 as default). However camel-spring-javaconfig now requires Spring 3.0 as Spring have native support for java configuration.</li><li>Added methods for getting header and property (Exchange / Message API) which uses a default parameter.</li><li>Added OsgiClassResolver which supports to load the class or resources within OSGi platform.</li><li>Added fireNow option to <a shape="rect" href="quartz.html">Quartz</a> component to fire the trigger when the route is started.</li><li><a shape="rect" href="file2.html">File</a> will delete orphaned lock files on startup. This allows it to selfheal in cases when Camel was terminated/killed abruptly.</li><
 li>Fixed issue with using Spring XML for routing could in some cases <em>loose</em> route scoped configured <code>&lt;onException&gt;</code>, <code>&lt;onCompletion/&gt;</code> when using in combination with <code>&lt;transacted/&gt;</code>.</li><li><code>&lt;proxy&gt;</code>, <code>&lt;export&gt;</code>, <code>&lt;endpoint&gt;</code>, <code>&lt;template&gt;</code>, <code>&lt;consumerTemplate&gt;</code> can be defined outside of <code>&lt;camelContext&gt;</code>.</li><li><a shape="rect" href="jaxb.html">JAXB</a> will filter the nonXml characters when it unmarshals the inputstream or marshal the java object.</li><li>Slightly reworked how correlation id is determined in <a shape="rect" href="jms.html">JMS</a> when using InOut messaging. See more at <em>important changes to consider when upgrading</em>.</li><li><code>EventNotifier</code> improved to allow ignoring events based on categories. Easier configuration to only notify those events you care about.</li><li>Added <code>PublishEve
 ntNotifier</code> to send the events to any kind of Camel <a shape="rect" href="endpoint.html">Endpoint</a>.</li><li><a shape="rect" href="jdbc.html">JDBC</a> added option <code>useJDBC4ColumnNameAndLabelSemantics</code> to let you choose semantics to use in case you have issue with your JDBC driver when using SQL SELECT with aliases.</li><li><a shape="rect" href="cache.html">Cache</a> can now store message bodies which are <code>Serializable</code> out of the box and not forcing to be converted into a byte stream as it otherwise would.</li><li>Fixed an issue with running the <a shape="rect" href="examples.html">Examples</a> using ANT.</li><li><code>ManagementStrategy</code> now supports using multiple <code>EventNotifier</code> instead of just one.</li><li>Introduced <a shape="rect" href="notifybuilder.html">NotifyBuilder</a> which helps during testing. For example when testing routes without mocks etc. It will help to notify when a certain condition has occurred such as X messages
  has is done etc.</li><li><a shape="rect" href="ftp2.html">FTP</a> now allows using starting directory with a dot in the name. It used to invalidate those to easy transition from Camel 1.x to 2.x as 1.x did also support using a file as starting (which was not good practice).</li><li><a shape="rect" href="file2.html">File</a> producer now supports option to keep last modified timestamp in case a message was received from some file source. You can also set the timestamp it should use in the header <code>Exchange.FILE_LAST_MODIFIED</code>.</li><li><a shape="rect" href="bean-language.html">Bean Language</a> using <code>bean</code> or <code>method</code> to invoke a <a shape="rect" href="bean.html">Bean</a> now supports using an existing bean instance. This is convenient for testing where you can quickly use an instance you have prepared in the unit test.</li><li><a shape="rect" href="camel-jboss.html">camel-jboss</a> for running Camel inside JBoss Application Server which uses it specia
 lized classloading which prevents typically frameworks to not work out of the box inside JBoss.</li><li><a shape="rect" class="external-link" href="http://camel-extra.googlecode.com/" rel="nofollow">Camel Extra</a> projects migrated to use Camel 2.1.0 release.</li><li><a shape="rect" href="jaxb.html">JAXB</a> now supports partial marshalling/unmarshalling.</li><li><a shape="rect" href="bean.html">Bean</a> parameter binding using Camel annotations now works with CGLIB enhanced classes.</li><li><a shape="rect" href="cxf.html">CXF</a> supports to configure the endpoint with CXF style configuration.</li><li><a shape="rect" href="defaulterrorhandler.html">DefaultErrorHandler</a> will now log stracktrace when an <a shape="rect" href="exchange.html">Exchange</a> is exhausted (give up). Added new <code>logRetryStackTrace</code> option to set whether or not stacktraces are logged for failed redelivery attempts. Most people dont like the logs spammed if you retry 5 times etc.</li><li><a shape
 ="rect" href="bean.html">Bean</a> component now honors void method invocations and accepts methods returning <code>null</code> as a valid response.</li><li><a shape="rect" href="error-handler.html">Error Handler</a> now catches and handles all exceptions (Throwable). This ensures fatal errors such as <code>NoSuchMethodException</code> etc. will now be handle by Camel and logged etc.</li><li><a shape="rect" href="cxf.html">cxfbean</a> now propagates CONTENT_TYPE for other camel component to use.</li></ul>
-
-
-<h3 id="Camel2.2.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3>
-
-<h3 id="Camel2.2.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3>
-
-<ul><li><a shape="rect" href="ftp2.html">camel-ftp</a> now supports <code>FTPS</code> (FTP over SSL/TLS)</li><li><a shape="rect" href="smpp.html">camel-smpp</a></li><li><a shape="rect" href="lucene.html">camel-lucene</a></li><li><a shape="rect" href="hdfs.html">camel-hdfs</a></li><li><a shape="rect" href="camel-jboss.html">camel-jboss</a> for running Camel inside JBoss out of the box</li></ul>
-
-
-<h3 id="Camel2.2.0Release-NewDSL">New DSL</h3>
-
-<ul><li><code>markRollbackOnlyLast</code></li><li><code><a shape="rect" href="logeip.html">log</a></code></li></ul>
-
-
-<h3 id="Camel2.2.0Release-NewAnnotations">New Annotations</h3>
-
-<h3 id="Camel2.2.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3>
-
-<ul><li><a shape="rect" href="protobuf.html">camel-protobuff</a></li><li><a shape="rect" href="dozer-type-conversion.html">camel-dozer</a></li></ul>
-
-
-<h3 id="Camel2.2.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3>
-
-<h3 id="Camel2.2.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3>
-<ul><li><a shape="rect" href="cafe-example.html">cafe example</a></li></ul>
-
-
-<h2 id="Camel2.2.0Release-APIbreaking">API breaking</h2>
-
-<h3 id="Camel2.2.0Release-DefaultComponent">DefaultComponent</h3>
-<p>The methods <code>DefaultComponent.resolveAndRemoveReferenceParameter</code> and <code>DefaultComponent.resolveAndRemoveReferenceParameterList</code> have been changed to make the leading <code>#</code> sign for bean references optional and to throw an <code>IllegalArgumentException</code> if a referenced bean is not in the registry. For details see <a shape="rect" class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2248">CAMEL-2248</a>.</p>
-
-<h3 id="Camel2.2.0Release-Exchange">Exchange</h3>
-<p>The property <code>Exchange.FILTETED</code> have been removed as part of <a shape="rect" class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2248">CAMEL-2288</a>.</p>
-
-<p>Added two new methods for <code>getProperty</code> to accept a <code>defaultValue</code> as parameter to be used when the property does not exists.</p>
-
-<h3 id="Camel2.2.0Release-Message">Message</h3>
-<p>Added two new methods for <code>getHeader</code> to accept a <code>defaultValue</code> as parameter to be used when the header does not exists.</p>
-
-<h3 id="Camel2.2.0Release-ExceptionHandler">ExceptionHandler</h3>
-<p>The class <code>org.apache.camel.spi.ExceptionHandler</code> now have two additional methods which accepts more details when an Exception occurred such as a message and the current Exchange.</p>
-
-<h3 id="Camel2.2.0Release-@EndpointInject">@EndpointInject</h3>
-<p>The <code>name</code> attribute in @EndpointInject has been renamed to <code>ref</code> to be consistent with the other annotations. Its a reference for an Endpoint to be looked up in the <a shape="rect" href="registry.html">Registry</a>.</p>
-
-<h3 id="Camel2.2.0Release-BatchConsumer">BatchConsumer</h3>
-<p>The <code>BatchConsumer</code> have a new method <code>isBatchAllowed</code> which should be used during processing the batch, to break out the batch loop in case its not allowed anymore. Also <code>BatchConsumer</code> should consider implement <code>ShutdownAware</code> to support fine grained control during shutdown. See for example the <code>GenericFileConsumer</code> for details.</p>
-
-<h3 id="Camel2.2.0Release-GenericFileProcessStrategy">GenericFileProcessStrategy</h3>
-<p>The <code>GenericFileProcessStrategy</code> has a new method <code>prepareOnStartup</code> which is used to <em>prepare</em> the <a shape="rect" href="file2.html">File</a> component on startup, such as deleting orphaned lock files. The same applies for the <code>GenericFileExclusiveReadLockStrategy</code> interface in case you have developed a custom lock strategy.</p>
-
-<h3 id="Camel2.2.0Release-ManagementStrategy">ManagementStrategy</h3>
-<p>The <code>ManagementStrategy</code> now supports multiple <code>EventNotifier</code> and thus have its setter/getter methods adjusted to a <code>List&lt;EventNotifier&gt;</code> and there is a <code>addEventNotifier</code> method as well to add a single <code>EventNotifier</code>.</p>
-
-<h3 id="Camel2.2.0Release-EventNotifier">EventNotifier</h3>
-<p>The <code>EventNotifier</code> has new methods for filtering events based on categories. The <code>DefaultEventNotifier</code> class has been renamed to <code>LoggingEventNotifier</code> and a new <code>EventNotifierSupport</code> class is added which is meant for custom implementations to extend.</p>
-
-<h3 id="Camel2.2.0Release-UnitOfWork">UnitOfWork</h3>
-<p>The <code>UnitOfWork</code> have adjusted its methods for setting <code>RouteContext</code> from a setter to a <code>push</code> and <code>pop</code> style.</p>
-
-<h2 id="Camel2.2.0Release-KnownIssues">Known Issues</h2>
-
-<p>See known issues from previous releases.</p>
-
-<h3 id="Camel2.2.0Release-UsingRecipientListandMina">Using RecipientList and Mina</h3>
-<p>When using the <a shape="rect" href="recipient-list.html">Recipient List</a> together with <a shape="rect" href="mina.html">Mina</a> endpoints Camel will over time hold on to memory which could lead to OutOfMemoryErrors. See more at: <a shape="rect" class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2484">CAMEL-2484</a></p>
-
-<h2 id="Camel2.2.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2>
-
-<h3 id="Camel2.2.0Release-Featuresfilemoved">Features file moved</h3>
-<p>For Camel 2.2.0, the newly named <code>features.xml</code> file can be found in <a shape="rect" class="external-link" href="http://repo2.maven.org/maven2/org/apache/camel/karaf/apache-camel/2.2.0/" rel="nofollow">http://repo2.maven.org/maven2/org/apache/camel/karaf/apache-camel/2.2.0/</a><br clear="none">
-You can use it in Karaf by doing a <strong><code>features:addUrl mvn:org.apache.camel.karaf/apache-camel/2.2.0/xml/features</code></strong></p>
-
-<h3 id="Camel2.2.0Release-Pleasedon'tinstallcamel-osgiandcamel-spring-osgibundleinOSGienvironmentatthesametime">Please don't install camel-osgi and camel-spring-osgi bundle in OSGi environment at the same time</h3>
-<p>We have an issue that installing camel-osgi and camel-spring in different order will cause the "http://camel.apache.org/schema/spring" namespace can't be handled rightly in OSGi environment. From Camel 2.2.0 we merged the camel-osgi and camel-spring bundles together, it's camel-spring-osgi.<br clear="none">
-In this way camel-osgi and camel-spring-osgi both have the BundleActivator which helps camel-core to load the component in OSGi container. If you install these two bundle at the same time will cause some conflict on the component finding.<br clear="none">
-You just need to install camel-core, camel-spring-osgi bundle to let the basic camel application work.</p>
-
-<h3 id="Camel2.2.0Release-Springjardependencieshavebeencutdownincamel-core.">Spring jar dependencies have been cut down in camel-core.</h3>
-<p>The <code>pom.xml</code> file for <strong>camel-core</strong> have cut down number of spring jar dependencies to allow Camel to easily run without any Spring .jars at all. However this affects you if you use maven and use camel-core without camel-spring or spring at all. If you want to use JMX with Camel then you need to add the following 4 spring jars required: <code>spring-core.jar, spring-beans.jar, spring-context.jar, spring-aop.jar</code>. With maven you only need to depend on <code>spring-context</code> and <code>spring-aop</code> as they will bring in the other two jars.</p>
-
-<p>See also <a shape="rect" href="camel-jar-dependencies.html">Camel Jar Dependencies</a> and <a shape="rect" href="camel-jmx.html">Camel JMX</a>.</p>
-
-<h3 id="Camel2.2.0Release-Usingfilterin">Using filter in <a shape="rect" href="splitter.html">Splitter</a></h3>
-<p>The <code>filter</code> no long influence the <code>split</code> and its <code>AggregationStrategy</code> as it was just too confusing why it did that. See <a shape="rect" class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2248">CAMEL-2288</a> for details.</p>
-
-<h3 id="Camel2.2.0Release-camel-httpandproxy">camel-http and proxy</h3>
-<p>The <a shape="rect" href="http.html">HTTP</a> component used to read Proxy settings directly from system properties. You should instead configure proxy wide information as properties to the <code>CamelContext</code> instead. See <a shape="rect" href="http.html">HTTP</a> for details.</p>
-
-<h3 id="Camel2.2.0Release-camel-jms">camel-jms</h3>
-<p>How correlationId is determined has been changed slightly. Now <a shape="rect" href="jms.html">JMS</a> will always use messageId if configured to do so using <code>useMessageIDAsCorrelationID==true</code>. Otherwise <code>JMSCorrelationID</code> is used but if that has not been set then Camel will fallback to use <code>messageId</code> instead. See the method <code>determineCorrelationId</code> in the class <code>org.apache.camel.component.jms.EndpointMessageListener</code> for actual implementation. This change will most likely not affect most users.</p>
-
-<h2 id="Camel2.2.0Release-GettingtheDistributions">Getting the Distributions</h2>
-
-<h3 id="Camel2.2.0Release-BinaryDistributions">Binary Distributions</h3>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Download Link </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> PGP Signature file of download </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Windows Distribution </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.2.0/apache-camel-2.2.0.zip">apache-camel-2.2.0.zip</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0.zip.asc">apache-camel-2.2.0.zip.asc</a> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Unix/Linux/Cygwin Distribution </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a sh
 ape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.2.0/apache-camel-2.2.0.tar.gz">apache-camel-2.2.0.tar.gz</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0.tar.gz.asc">apache-camel-2.2.0.tar.gz.asc</a> </p></td></tr></tbody></table></div>
-
-    <div class="aui-message hint shadowed information-macro">
+<div class="wiki-content maincontent"><h1 id="Camel2.2.0Release-Camel2.2.0release">Camel 2.2.0 release</h1><div style="padding-right:20px;float:left;margin-left:-20px;">
+<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div><div style="min-height:200px"></div><h2 id="Camel2.2.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.2.0 release which approx 180 issues resolved (new features, improvements and bug fixes such as...)</p><ul><li><a shape="rect" href="routing-slip.html">Routing Slip</a> now breaks when an exception occurred</li><li><a shape="rect" href="mina.html">MINA</a> now supports easier configuration of multiple custom codecs, which is needed when working with SSL.</li><li>Improved <a shape="rect" href="transactionerrorhandler.html">TransactionErrorHandler</a> two fold by reducing complexity of internal logic in Camel when working with transactions. And added better support for using multiple transactions in multiple routes. See more at section <em>Using multiple routes with different propagation behaviors</em> at 
 <a shape="rect" href="transactional-client.html">Transactional Client</a>.</li><li><a shape="rect" href="recipient-list.html">Recipient List</a> now supports <code>parallelProcessing</code>, <code>stopOnException</code> and references for <code>AggregationStrategy</code> and thread pools. This applies to the <code>@RecipientList</code> annotation as well.</li><li>Cleanup of spring jar dependencies.</li><li><a shape="rect" href="file-language.html">File Language</a> is now merged directly into <a shape="rect" href="simple.html">Simple</a> language which among others makes <a shape="rect" href="content-based-router.html">Content Based Router</a> in Spring XML using file language syntax easier.</li><li><a shape="rect" href="http.html">HTTP</a> is now using CamelContext Properties instead of System Properties to set the http proxy configuration.</li><li>Fixed <a shape="rect" href="using-camelproxy.html">Camel Proxy</a> throwing exception if <code>null</code> was returned.</li><li>Improv
 ed error handling with <a shape="rect" href="recipient-list.html">Recipient List</a> and <a shape="rect" href="multicast.html">Multicast</a> which now performs redelivery etc. on that <em>output</em> node instead of starting again from the scratch.</li><li>Improved the <a shape="rect" href="etl-example.html">ETL Example</a> and <a shape="rect" href="bam-example.html">BAM Example</a> so they can be deployed into ServiceMix4(Karaf).</li><li><a shape="rect" href="seda.html">SEDA</a> now supports <code>multipleConsumers</code> which allows you to use it for pub-sub messaging where each consumer concurrently will receive a copy of the <a shape="rect" href="exchange.html">Exchange</a>. This is done with the help from <a shape="rect" href="multicast.html">Multicast</a> EIP.</li><li><a shape="rect" href="defaulterrorhandler.html">DefaultErrorHandler</a> will now log a log line at <code>ERROR</code> level in case an Exception was thrown which could not be redelivered either. This aid to see 
 that an Exception occurred instead of relying on the client logging it. You can customize this behavior on the <a shape="rect" href="error-handler.html">Error Handler</a>.</li><li>Fixed <code>groupedExchange</code> not working properly on <a shape="rect" href="aggregator.html">Aggregator</a>.</li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a> which ensures Camel now shutdown in a more reliable and graceful manner. This also works with in memory components such as <a shape="rect" href="seda.html">SEDA</a>.</li><li>Added new <code><a shape="rect" href="logeip.html">log</a></code> in the DSL for dynamic human readable log messages.</li><li>Camel now supports Spring 3.0 as well (will still use Camel 2.5.6 as default). However camel-spring-javaconfig now requires Spring 3.0 as Spring have native support for java configuration.</li><li>Added methods for getting header and property (Exchange / Message API) which uses a default parameter.</li><li>Added OsgiClassReso
 lver which supports to load the class or resources within OSGi platform.</li><li>Added fireNow option to <a shape="rect" href="quartz.html">Quartz</a> component to fire the trigger when the route is started.</li><li><a shape="rect" href="file2.html">File</a> will delete orphaned lock files on startup. This allows it to selfheal in cases when Camel was terminated/killed abruptly.</li><li>Fixed issue with using Spring XML for routing could in some cases <em>loose</em> route scoped configured <code>&lt;onException&gt;</code>, <code>&lt;onCompletion/&gt;</code> when using in combination with <code>&lt;transacted/&gt;</code>.</li><li><code>&lt;proxy&gt;</code>, <code>&lt;export&gt;</code>, <code>&lt;endpoint&gt;</code>, <code>&lt;template&gt;</code>, <code>&lt;consumerTemplate&gt;</code> can be defined outside of <code>&lt;camelContext&gt;</code>.</li><li><a shape="rect" href="jaxb.html">JAXB</a> will filter the nonXml characters when it unmarshals the inputstream or marshal the java obj
 ect.</li><li>Slightly reworked how correlation id is determined in <a shape="rect" href="jms.html">JMS</a> when using InOut messaging. See more at <em>important changes to consider when upgrading</em>.</li><li><code>EventNotifier</code> improved to allow ignoring events based on categories. Easier configuration to only notify those events you care about.</li><li>Added <code>PublishEventNotifier</code> to send the events to any kind of Camel <a shape="rect" href="endpoint.html">Endpoint</a>.</li><li><a shape="rect" href="jdbc.html">JDBC</a> added option <code>useJDBC4ColumnNameAndLabelSemantics</code> to let you choose semantics to use in case you have issue with your JDBC driver when using SQL SELECT with aliases.</li><li><a shape="rect" href="cache.html">Cache</a> can now store message bodies which are <code>Serializable</code> out of the box and not forcing to be converted into a byte stream as it otherwise would.</li><li>Fixed an issue with running the <a shape="rect" href="examp
 les.html">Examples</a> using ANT.</li><li><code>ManagementStrategy</code> now supports using multiple <code>EventNotifier</code> instead of just one.</li><li>Introduced <a shape="rect" href="notifybuilder.html">NotifyBuilder</a> which helps during testing. For example when testing routes without mocks etc. It will help to notify when a certain condition has occurred such as X messages has is done etc.</li><li><a shape="rect" href="ftp2.html">FTP</a> now allows using starting directory with a dot in the name. It used to invalidate those to easy transition from Camel 1.x to 2.x as 1.x did also support using a file as starting (which was not good practice).</li><li><a shape="rect" href="file2.html">File</a> producer now supports option to keep last modified timestamp in case a message was received from some file source. You can also set the timestamp it should use in the header <code>Exchange.FILE_LAST_MODIFIED</code>.</li><li><a shape="rect" href="bean-language.html">Bean Language</a>
  using <code>bean</code> or <code>method</code> to invoke a <a shape="rect" href="bean.html">Bean</a> now supports using an existing bean instance. This is convenient for testing where you can quickly use an instance you have prepared in the unit test.</li><li><a shape="rect" href="camel-jboss.html">camel-jboss</a> for running Camel inside JBoss Application Server which uses it specialized classloading which prevents typically frameworks to not work out of the box inside JBoss.</li><li><a shape="rect" class="external-link" href="http://camel-extra.googlecode.com/" rel="nofollow">Camel Extra</a> projects migrated to use Camel 2.1.0 release.</li><li><a shape="rect" href="jaxb.html">JAXB</a> now supports partial marshalling/unmarshalling.</li><li><a shape="rect" href="bean.html">Bean</a> parameter binding using Camel annotations now works with CGLIB enhanced classes.</li><li><a shape="rect" href="cxf.html">CXF</a> supports to configure the endpoint with CXF style configuration.</li><li
 ><a shape="rect" href="defaulterrorhandler.html">DefaultErrorHandler</a> will now log stracktrace when an <a shape="rect" href="exchange.html">Exchange</a> is exhausted (give up). Added new <code>logRetryStackTrace</code> option to set whether or not stacktraces are logged for failed redelivery attempts. Most people dont like the logs spammed if you retry 5 times etc.</li><li><a shape="rect" href="bean.html">Bean</a> component now honors void method invocations and accepts methods returning <code>null</code> as a valid response.</li><li><a shape="rect" href="error-handler.html">Error Handler</a> now catches and handles all exceptions (Throwable). This ensures fatal errors such as <code>NoSuchMethodException</code> etc. will now be handle by Camel and logged etc.</li><li><a shape="rect" href="cxf.html">cxfbean</a> now propagates CONTENT_TYPE for other camel component to use.</li></ul><h3 id="Camel2.2.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterp
 rise Integration Patterns</a></h3><h3 id="Camel2.2.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li><a shape="rect" href="ftp2.html">camel-ftp</a> now supports <code>FTPS</code> (FTP over SSL/TLS)</li><li><a shape="rect" href="smpp.html">camel-smpp</a></li><li><a shape="rect" href="lucene.html">camel-lucene</a></li><li><a shape="rect" href="hdfs.html">camel-hdfs</a></li><li><a shape="rect" href="camel-jboss.html">camel-jboss</a> for running Camel inside JBoss out of the box</li></ul><h3 id="Camel2.2.0Release-NewDSL">New DSL</h3><ul><li><code>markRollbackOnlyLast</code></li><li><code><a shape="rect" href="logeip.html">log</a></code></li></ul><h3 id="Camel2.2.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.2.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" href="protobuf.html">camel-protobuff</a></li><li><a shape="rect" href="dozer-type-conversion.html">camel-dozer</a></li
 ></ul><h3 id="Camel2.2.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.2.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><ul><li><a shape="rect" href="cafe-example.html">Cafe Example</a></li></ul><h2 id="Camel2.2.0Release-APIbreaking">API breaking</h2><h3 id="Camel2.2.0Release-DefaultComponent">DefaultComponent</h3><p>The methods <code>DefaultComponent.resolveAndRemoveReferenceParameter</code> and <code>DefaultComponent.resolveAndRemoveReferenceParameterList</code> have been changed to make the leading <code>#</code> sign for bean references optional and to throw an <code>IllegalArgumentException</code> if a referenced bean is not in the registry. For details see <a shape="rect" class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2248">CAMEL-2248</a>.</p><h3 id="Camel2.2.0Release-Exchange">Exchange</h3><p>The property <code>Exchange.FILTETED</code> have been removed as part of <a shape="rect
 " class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2248">CAMEL-2288</a>.</p><p>Added two new methods for <code>getProperty</code> to accept a <code>defaultValue</code> as parameter to be used when the property does not exists.</p><h3 id="Camel2.2.0Release-Message">Message</h3><p>Added two new methods for <code>getHeader</code> to accept a <code>defaultValue</code> as parameter to be used when the header does not exists.</p><h3 id="Camel2.2.0Release-ExceptionHandler">ExceptionHandler</h3><p>The class <code>org.apache.camel.spi.ExceptionHandler</code> now have two additional methods which accepts more details when an Exception occurred such as a message and the current Exchange.</p><h3 id="Camel2.2.0Release-@EndpointInject">@EndpointInject</h3><p>The <code>name</code> attribute in @EndpointInject has been renamed to <code>ref</code> to be consistent with the other annotations. Its a reference for an Endpoint to be looked up in the <a shape="rect" href="regis
 try.html">Registry</a>.</p><h3 id="Camel2.2.0Release-BatchConsumer">BatchConsumer</h3><p>The <code>BatchConsumer</code> have a new method <code>isBatchAllowed</code> which should be used during processing the batch, to break out the batch loop in case its not allowed anymore. Also <code>BatchConsumer</code> should consider implement <code>ShutdownAware</code> to support fine grained control during shutdown. See for example the <code>GenericFileConsumer</code> for details.</p><h3 id="Camel2.2.0Release-GenericFileProcessStrategy">GenericFileProcessStrategy</h3><p>The <code>GenericFileProcessStrategy</code> has a new method <code>prepareOnStartup</code> which is used to <em>prepare</em> the <a shape="rect" href="file2.html">File</a> component on startup, such as deleting orphaned lock files. The same applies for the <code>GenericFileExclusiveReadLockStrategy</code> interface in case you have developed a custom lock strategy.</p><h3 id="Camel2.2.0Release-ManagementStrategy">ManagementSt
 rategy</h3><p>The <code>ManagementStrategy</code> now supports multiple <code>EventNotifier</code> and thus have its setter/getter methods adjusted to a <code>List&lt;EventNotifier&gt;</code> and there is a <code>addEventNotifier</code> method as well to add a single <code>EventNotifier</code>.</p><h3 id="Camel2.2.0Release-EventNotifier">EventNotifier</h3><p>The <code>EventNotifier</code> has new methods for filtering events based on categories. The <code>DefaultEventNotifier</code> class has been renamed to <code>LoggingEventNotifier</code> and a new <code>EventNotifierSupport</code> class is added which is meant for custom implementations to extend.</p><h3 id="Camel2.2.0Release-UnitOfWork">UnitOfWork</h3><p>The <code>UnitOfWork</code> have adjusted its methods for setting <code>RouteContext</code> from a setter to a <code>push</code> and <code>pop</code> style.</p><h2 id="Camel2.2.0Release-KnownIssues">Known Issues</h2><p>See known issues from previous releases.</p><h3 id="Camel2.
 2.0Release-UsingRecipientListandMina">Using RecipientList and Mina</h3><p>When using the <a shape="rect" href="recipient-list.html">Recipient List</a> together with <a shape="rect" href="mina.html">MINA</a> endpoints Camel will over time hold on to memory which could lead to OutOfMemoryErrors. See more at: <a shape="rect" class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2484">CAMEL-2484</a></p><h2 id="Camel2.2.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><h3 id="Camel2.2.0Release-Featuresfilemoved">Features file moved</h3><p>For Camel 2.2.0, the newly named <code>features.xml</code> file can be found in <a shape="rect" class="external-link" href="http://repo2.maven.org/maven2/org/apache/camel/karaf/apache-camel/2.2.0/" rel="nofollow">http://repo2.maven.org/maven2/org/apache/camel/karaf/apache-camel/2.2.0/</a><br clear="none"> You can use it in Karaf by doing a <strong><code>features:addUrl mvn:org.apach
 e.camel.karaf/apache-camel/2.2.0/xml/features</code></strong></p><h3 id="Camel2.2.0Release-Pleasedon'tinstallcamel-osgiandcamel-spring-osgibundleinOSGienvironmentatthesametime">Please don't install camel-osgi and camel-spring-osgi bundle in OSGi environment at the same time</h3><p>We have an issue that installing camel-osgi and camel-spring in different order will cause the "http://camel.apache.org/schema/spring" namespace can't be handled rightly in OSGi environment. From Camel 2.2.0 we merged the camel-osgi and camel-spring bundles together, it's camel-spring-osgi.<br clear="none"> In this way camel-osgi and camel-spring-osgi both have the BundleActivator which helps camel-core to load the component in OSGi container. If you install these two bundle at the same time will cause some conflict on the component finding.<br clear="none"> You just need to install camel-core, camel-spring-osgi bundle to let the basic camel application work.</p><h3 id="Camel2.2.0Release-Springjardependenc
 ieshavebeencutdownincamel-core.">Spring jar dependencies have been cut down in camel-core.</h3><p>The <code>pom.xml</code> file for <strong>camel-core</strong> have cut down number of spring jar dependencies to allow Camel to easily run without any Spring .jars at all. However this affects you if you use maven and use camel-core without camel-spring or spring at all. If you want to use JMX with Camel then you need to add the following 4 spring jars required: <code>spring-core.jar, spring-beans.jar, spring-context.jar, spring-aop.jar</code>. With maven you only need to depend on <code>spring-context</code> and <code>spring-aop</code> as they will bring in the other two jars.</p><p>See also <a shape="rect" href="camel-jar-dependencies.html">Camel jar dependencies</a> and <a shape="rect" href="camel-jmx.html">Camel JMX</a>.</p><h3 id="Camel2.2.0Release-Usingfilterin">Using filter in <a shape="rect" href="splitter.html">Splitter</a></h3><p>The <code>filter</code> no long influence the <
 code>split</code> and its <code>AggregationStrategy</code> as it was just too confusing why it did that. See <a shape="rect" class="external-link" href="https://issues.apache.org/activemq/browse/CAMEL-2248">CAMEL-2288</a> for details.</p><h3 id="Camel2.2.0Release-camel-httpandproxy">camel-http and proxy</h3><p>The <a shape="rect" href="http.html">HTTP</a> component used to read Proxy settings directly from system properties. You should instead configure proxy wide information as properties to the <code>CamelContext</code> instead. See <a shape="rect" href="http.html">HTTP</a> for details.</p><h3 id="Camel2.2.0Release-camel-jms">camel-jms</h3><p>How correlationId is determined has been changed slightly. Now <a shape="rect" href="jms.html">JMS</a> will always use messageId if configured to do so using <code>useMessageIDAsCorrelationID==true</code>. Otherwise <code>JMSCorrelationID</code> is used but if that has not been set then Camel will fallback to use <code>messageId</code> instea
 d. See the method <code>determineCorrelationId</code> in the class <code>org.apache.camel.component.jms.EndpointMessageListener</code> for actual implementation. This change will most likely not affect most users.</p><h2 id="Camel2.2.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.2.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0.zip">apache-camel-2.2.0.zip</a></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0.zip.asc">apache-camel-2.2.0.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0.tar.gz">apache-camel-2.2.0.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0.tar.gz.asc">apache-camel-2.2.0.tar.gz.asc</a></p></td></tr></tbody></table></div>    <div class="aui-message hint shadowed information-macro">
                     <p class="title">The above URLs use redirection</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p>
+                            <p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p>
                     </div>
     </div>
-
-
-<h3 id="Camel2.2.0Release-SourceDistributions">Source Distributions</h3>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Download Link </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> PGP Signature file of download </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Source for Windows </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.zip">apache-camel-2.2.0-src.zip</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.zip.asc">apache-camel-2.2.0-src.zip.asc</a> </p></td></tr></tbody></table></div>
-
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Source for Unix/Linux/Cygwin </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.tar.gz">apache-camel-2.2.0-src.tar.gz</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.tar.gz.asc">apache-camel-2.2.0-src.tar.gz.asc</a> </p></td></tr></tbody></table></div>
-
-
-<h3 id="Camel2.2.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3>
-
-<p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+<h3 id="Camel2.2.0Release-SourceDistributions">Source Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Windows</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.zip">apache-camel-2.2.0-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.zip.asc">apache-camel-2.2.0-src.zip.asc</a></p></td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody
 ><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Unix/Linux/Cygwin</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.tar.gz">apache-camel-2.2.0-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://archive.apache.org/dist/camel/apache-camel/2.2.0/apache-camel-2.2.0-src.tar.gz.asc">apache-camel-2.2.0-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.2.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeCo
 ntent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;
   &lt;version&gt;2.2.0&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="Camel2.2.0Release-SVNTagCheckout">SVN Tag Checkout</h3>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.2.0
+</div></div><h3 id="Camel2.2.0Release-SVNTagCheckout">SVN Tag Checkout</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.2.0
 ]]></script>
-</div></div>
-
-<h2 id="Camel2.2.0Release-Changelog">Changelog</h2>
-
-<p>For a more detailed view of new features and bug fixes, see the:</p>
-<ul><li><a shape="rect" class="external-link" href="http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311211&amp;styleName=Html&amp;version=12315686">JIRA Release notes for 2.2.0</a></li></ul></div>
+</div></div><h2 id="Camel2.2.0Release-Changelog">Changelog</h2><p>For a more detailed view of new features and bug fixes, see the:</p><ul><li><a shape="rect" class="external-link" href="http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311211&amp;styleName=Html&amp;version=12315686">JIRA Release notes for 2.2.0</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">