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 Thu Sep 14 
19:25:46 2017
@@ -93,7 +93,7 @@
 
 
 <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>s
 topOnException</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> 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>groupe
 dExchange</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 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</e
 m>.</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="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="notifyb
 uilder.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 quick
 ly 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>lo
 gRetryStackTrace</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 proc
 essing 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 th
 ere 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 dep
 endencies 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/CAM
 EL-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 aff
 ect 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="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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 vers
 ions 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://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="rec
 t" 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 conf
 iguration 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="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+<script class="brush: java; gutter: false; theme: Default" 
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;

Modified: websites/production/camel/content/camel-2200-release.html
==============================================================================
--- websites/production/camel/content/camel-2200-release.html (original)
+++ websites/production/camel/content/camel-2200-release.html Thu Sep 14 
19:25:46 2017
@@ -89,14 +89,14 @@
 
 
 <p>&#160;</p><h2 id="Camel2.20.0Release-NewandNoteworthy">New and 
Noteworthy</h2><p>Welcome to the x.y.z release which approx XXX issues resolved 
(new features, improvements and bug fixes such as...)</p><ul><li>Many internal 
optimisations in the Camel routing engine, such as reducing thread contention 
when updating JMX statistics, reducing internal state objects to claim less 
memory, and reducing the number of allocated objects to reduce overhead on GC 
etc, and much more.&#160;</li><li>Camel&#160;<a shape="rect" 
href="spring-boot.html">Spring Boot</a> now supports referring to bean's 
(lookup in Spring Boot) by their id names in the configuration files 
(application.properties|yaml file) when you configure any of the Camel starter 
components.</li><li>Camel&#160;<a shape="rect" href="spring-boot.html">Spring 
Boot</a> now also supports using Spring (auto) configuration to configure 
CamelContext when using Spring XML files with 
&lt;camelContext&gt;.&#160;</li><li>Worked to make Apache Ca
 mel more ready and compatible with the upcoming Spring Boot 2 and Spring 
Framework 5. Officially support for these is expected in Camel 2.21 
release.</li><li>The <a shape="rect" class="external-link" 
href="https://github.com/apache/camel/blob/master/tooling/maven/camel-maven-plugin/src/main/docs/camel-maven-plugin.adoc";
 rel="nofollow">Camel Maven Plugin</a> can now validate for duplicate route ids 
in your source code.</li><li>Splitted&#160;<a shape="rect" 
href="twitter.html">Twitter</a>&#160;component into 4, now directmessage, 
seach, streaming and timeline has its own endpoint and scheme. See&#160;<a 
shape="rect" class="external-link" 
href="https://github.com/apache/camel/blob/master/components/camel-twitter/src/main/docs/twitter.adoc";
 rel="nofollow">documentation</a>&#160;for more 
details</li><li>Introduced&#160;<code>HeadersMapFactory</code> SPI which allows 
to plugin different implementations, or to use case sensitive maps that are 
faster than the default.</li><li>Allow&#160;<a 
 shape="rect" href="kafka.html">Kafka</a> consumer to break on first unhandled 
exception, sync the offset from last known good, and then re-connect after one 
timeout cycle, to restart consuming again. This avoids loosing the failed 
message, but retry it again on either this consumer, or another consume which 
was re-balanced by Kafka. This requires to be turned on with the new option 
breakOnFirstError which can be set on both component or endpoint 
level.</li><li>Starting and stoping the CamelContext when used with Spring 
framework (SpringCamelContext) was revised to ensure that the Camel context is 
started last - when all resources should be available, and stopped first - 
while all resources are still available</li><li>The&#160;<a shape="rect" 
href="sql-stored-procedure.html">SQL Stored Procedure</a> now supports 
specifying custom types as FQN classnames and scale in numeric 
values.</li><li>Using Camel with&#160;<a shape="rect" 
href="spring.html">Spring</a> now supports calling <a sha
 pe="rect" href="bean.html">Bean</a> by their FQN name and let Spring 
instantiate the bean using auto-wired constructor's as opposed to only 
supporting a no-arg constructor.&#160;</li><li>Using Camel with <a shape="rect" 
href="spring-boot.html">Spring Boot</a> can now easily filter Java RouteBuilder 
routes via ANT-path pattern style to either include or exclude class names, 
which can be configured using Spring configuration 
properties.</li><li>The&#160;<a shape="rect" href="wire-tap.html">Wire Tap</a> 
EIP can now be configured to use static endpoint uri instead of being dynamic 
evaluated via the <a shape="rect" href="simple.html">Simple</a> 
language.&#160;</li><li>The&#160;<a shape="rect" href="wire-tap.html">Wire 
Tap</a> EIP will now complete any inflight wire tapped exchanges while shutting 
down to give them time to complete graceful.</li><li>The&#160;<a shape="rect" 
href="jsonpath.html">JSonPath</a> can now split and write each row as a string 
value (JSon format) instead of using 
 a Map/POJO type with the new writeAsString option.</li><li>The&#160;<a 
shape="rect" href="pojo-consuming.html">POJO Consuming</a> Consume annotation 
on POJO classes now support a predicate (using simple language) to filter the 
message. See the camel-example-spring-boot-pojo for more.</li></ul><p>Fixed 
these issues</p><ul><li>Fixed a infinitive recursion in Camel's&#160;<a 
shape="rect" href="error-handler.html">Error Handler</a> when an onException 
was routing to another route using direct endpoint and this route would throw a 
new exception that would circle back to the same onException or at a later 
point, which will cause an endless recursion.</li><li>Fixed a potential issue 
with masking password from URI using RAW(xxx) would reveal part of the password 
if the password contains a &amp; character.</li><li>The&#160;<a shape="rect" 
href="restlet.html">Restlet</a> component is now internally using&#160;curly 
brackets for its uri patterns instead of regular parentheses so it works simil
 ar to the other REST component and as Restlet framework itself 
does</li><li>Fixed <a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> 
having wrong default for circuitBreakerForceClose when using 
camel-hystrix-starter with Spring Boot. The default should be false and not 
true</li><li>Fixed&#160;<a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> 
when failing and running fallback not signaling to Hystrix itself so it can 
keep state of the failure and react accordingly to run in half-open mode as 
well.</li><li>Fixed&#160;<a shape="rect" href="mdc-logging.html">MDC 
logging</a> loosing route id after calling a direct route from within a 
transacted route</li><li>Fixed a regression with&#160;<a shape="rect" 
href="bean.html">Bean</a> and&#160;<a shape="rect" 
href="simple.html">Simple</a> OGNL expressions causing ambiguous method call 
exception&#160;<span>when calling method implemented by super class when method 
is defined by interface and abstract class</span></li><li><span>Fixed&#
 160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> (server side) not 
returning response on all valid uri paths when clients call using a HTTP 
OPTIONS request</span></li><li><span>Fixed&#160;<a shape="rect" 
href="rest.html">Rest</a>&#160;producer not using HTTP method (verb such as 
PUT) from the endpoint uri when calling a remote REST 
service</span></li><li><span>Fixed&#160;<a shape="rect" 
href="timer.html">Timer</a> routes to shutdown more graceful and allow pending 
tasks to complete while they are in-flight.</span></li><li><span>Fixed 
configuring&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> via 
application.properties|yaml in&#160;<a shape="rect" 
href="spring-boot.html">Spring Boot</a>&#160;not 
working.&#160;</span></li><li><span>Fixed <a shape="rect" 
href="https://cwiki.apache.org/confluence/display/CAMEL/Simple";>Simple 
Language</a> to add&#160;support negative numbers(without single or double 
quotes) in predicates</span></li><li><span>Fixed configuring&#160;<a shape="
 rect" href="rest-dsl.html">Rest DSL</a> in Spring Boot application.properties 
/ yaml for properties to data format, component, api, cors etc to use a map 
structure and make it work.</span></li><li><span>Fixed configuring&#160;<a 
shape="rect" href="rest-dsl.html">Rest DSL</a> using property placeholders in 
the path parameters such as the defaultValue.</span></li><li><span>Fixed an 
issue with parallel processing (in non-streaming mode) in some EIPs may cause 
CPU burning cycles while waiting for pending tasks to complete or 
timeout.</span></li><li><span>Fixed an issue with copying streams could block 
forever due IBM application server would mistakenly return 0 instead of -1 to 
indicate EOL for an empty stream.&#160;</span></li><li><span>Fixed an issue 
with making&#160;<a shape="rect" href="jms.html">JMS</a> and&#160;<a 
shape="rect" href="sjms.html">SJMS</a> components work with ActiveMQ Artemis 
that would otherwise causes a ClassCastException</span></li></ul><h3 
id="Camel2.20.0Release-
 New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.20.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li>camel-crypto-cms - a 
component for cryptographic message syntax</li><li>camel-headersmap - a faster 
implementation of case-insenstive map (used by camel message headers) which can 
be added to classpath at runtime to be auto installed</li><li>camel-reactor - a 
reactor based back-end for camel's reactive streams 
component</li><li>camel-twilio - a component that allows you to interact with 
<a shape="rect" class="external-link" href="https://www.twilio.com/"; 
rel="nofollow">Twilio</a> REST APIs to call phones, send texts, etc. from a 
Camel route</li><li>camel-caffeine - a component that allows you to interact 
with a Caffeine cache</li></ul><h3 id="Camel2.20.0Release-NewAnnotations">New 
Annotations</h3><ul><li>Added predicate to Consume</li></ul><h3 
id="Camel2.20.0Release-NewData
 Formats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><h3 
id="Camel2.20.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h2 
id="Camel2.20.0Release-APIbreaking">API breaking</h2><h2 
id="Camel2.20.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.20.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Maven 3.3.3 or newer is required 
to build the project</li><li><p>camel-infinispan - the result is not more set 
in the CamelInfinispanOperationResult header but in the in body. To change this 
behavior you can set the header CamelInfinispanOperationResultHeader with the 
name of the header that should contains the result or with the resultHeader uri 
option</p></li><li><span style="color: rgb(24,54,145);"><span style="color: 
rgb(24,54,145);"><span style="color: rgb(36,41,46);">camel-infinispan - the uri 
option <em>command</em> has been deprecated and replaced by <em>operation</em> 
for co
 nsistency</span></span></span></li><li><span style="color: 
rgb(24,54,145);"><span style="color: rgb(24,54,145);"><span style="color: 
rgb(36,41,46);">camel-infinispan - the commands are now int the short form PUT, 
GET etc. old operation names like CamelInfinispanOperationPut, 
CamelInfinispanOperationGet etc have been 
deprecated.</span></span></span></li><li><span style="color: 
rgb(24,54,145);"><span style="color: rgb(24,54,145);"><span style="color: 
rgb(36,41,46);">camel-undertow -&#160;<span style="color: 
rgb(0,0,0);">matchOnUriPrefix option is defaulted to be FALSE in order to make 
it&#160;consistent with other components like Camel HTTP 
components.</span></span></span></span></li><li>Splitted&#160;<a shape="rect" 
href="twitter.html">Twitter</a>&#160;component into 4, now directmessage, 
seach, streaming and timeline has its own endpoint and scheme. See&#160;<a 
shape="rect" class="external-link" 
href="https://github.com/apache/camel/blob/master/components/camel-twitter/src/main/docs
 /twitter.adoc" rel="nofollow">documentation</a>&#160;for more details<span 
style="color: rgb(24,54,145);"><span style="color: rgb(24,54,145);"><span 
style="color: rgb(36,41,46);"><span style="color: rgb(0,0,0);"><br 
clear="none"></span></span></span></span></li><li>RuntimeEndpointRegistry is no 
longer in extended mode by default. To use that you need to set management 
statistics level to Extended explicit.</li><li>There is no 
RuntimeEndpointRegistry in use by default. You need to explicit configure a 
registry to be used, or turn it on via management agent, or set the statics 
level to extended mode.</li><li>Camel with Spring XML routes will no longer 
register endpoints in the Spring registry from Camel routes where &lt;from&gt; 
or &lt;to&gt; have endpoints assigned with an explicit id attribute. The 
option&#160;registerEndpointIdsFromRoute can be set to true on 
&lt;camelContext&gt; to be backwards compatible. However this registration is 
deprecated, instead you should use &lt;endpoin
 t&gt; to register Camel endpoints with id's in Spring 
registry.</li><li>camel-spring-dm has been removed as it was not working 
properly anyway and was deprecated some releases ago. For XML DSL with OSGi use 
camel-blueprint instead.</li><li>Copying streams in IOHelper from came-core now 
regard EOL of data if the first read byte is zero to work around issues on some 
application servers like IBM WebSphere. This can be turned off by setting JVM 
system property "camel.zeroByteEOLEnabled=false".</li></ul><h2 
id="Camel2.20.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.20.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/x.y.x/apache-camel-x.y.x.zip";>apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.zip.asc";>apache-camel-x.y.x.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://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz";>apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz.asc";>apache-c
 amel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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.20.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="confluence
 Th"><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 (zip)</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/x.y.x/apache-camel-x.y.x-src.zip";>apache-camel-x.y.x-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/x.y.x/apache-camel-x.y.x-src.zip.asc";>apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.20.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.h
 tml">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+<script class="brush: java; gutter: false; theme: Default" 
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;x.y.x&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
 </div></div><h3 id="Camel2.20.0Release-GitTagCheckout">Git Tag 
Checkout</h3><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence" 
type="syntaxhighlighter"><![CDATA[git clone 
https://git-wip-us.apache.org/repos/asf/camel.git
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[git clone 
https://git-wip-us.apache.org/repos/asf/camel.git
 cd camel
 git checkout camel-x.y.x]]></script>
 </div></div><h2 id="Camel2.20.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";>Release
 notes for x.y.x</a></li></ul></div>

Modified: 
websites/production/camel/content/camel-23-threadpool-configuration.html
==============================================================================
--- websites/production/camel/content/camel-23-threadpool-configuration.html 
(original)
+++ websites/production/camel/content/camel-23-threadpool-configuration.html 
Thu Sep 14 19:25:46 2017
@@ -144,7 +144,7 @@ It should be possible to use wildcard an
 <p>It should be possible to set a default <code>ThreadPoolProfile</code> which 
Camel will use when creating thread pools for the EIPs and whatnot. Then you 
can set default settings and have that leveraged out of the box.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;threadPoolProfile id=&quot;myDefaultProfile&quot;
                            defaultProfile=&quot;true&quot;
                            poolSize=&quot;5&quot; keepAliveTime=&quot;25&quot; 
maxPoolSize=&quot;15&quot; maxQueueSize=&quot;250&quot; 
rejectedPolicy=&quot;Abort&quot;/&gt;

Modified: websites/production/camel/content/camel-230-release.html
==============================================================================
--- websites/production/camel/content/camel-230-release.html (original)
+++ websites/production/camel/content/camel-230-release.html Thu Sep 14 
19:25:46 2017
@@ -93,7 +93,7 @@
 
 
 <h2 id="Camel2.3.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome 
to the 2.3.0 release which approx 276 issues resolved (new features, 
improvements and bug fixes such as...)</p><ul><li><a shape="rect" 
href="threading-model.html">Overhauled threading model</a> and introducing 
<code>threadPoolProfile</code> to define profiles for thread pools to have easy 
configuration.</li><li><a shape="rect" 
href="using-propertyplaceholder.html">Property placeholders</a> in for example 
endpoint uris is not natively supported in <strong>camel-core</strong> which 
means you no long need to use Spring for that. It works therefore in any 
environment as its provided out of the box in camel-core.</li><li><a 
shape="rect" href="using-propertyplaceholder.html">Property placeholders</a> 
also works in the <code>&lt;CamelContext&gt;</code> when using Spring XML. 
Basically nearly all places where you enter text the property placeholder is 
supported.</li><li>Total overhaul of the <a shape="rect" href="
 aggregator2.html">Aggregator</a> EIP, which now has better completion 
triggers, and supports pluggable repository. For example to use <a shape="rect" 
href="hawtdb.html">camel-hawtdb</a> as persistent store. Also added support for 
recovery and transactional behavior when using <a shape="rect" 
href="hawtdb.html">camel-hawtdb</a>.</li><li>Added 
<code>ExchangeSentEvent</code> to <code>EventNotifier</code> which contains 
time taken and is emitted when an <a shape="rect" 
href="exchange.html">Exchange</a> is sent to an <a shape="rect" 
href="endpoint.html">Endpoint</a>. This allows end users to easily gather 
performance stats for <a shape="rect" href="exchange.html">Exchange</a> send to 
endpoints.</li><li>Added <code>disconnect</code> option to <a shape="rect" 
href="mina.html">MINA</a> to close Mina session right after usage.</li><li><a 
shape="rect" href="jetty.html">Jetty</a> now supports to get the 
<code>HttpServletRequest</code> and <code>HttpServletResponse</code> from the 
<a shape="rec
 t" href="message.html">Message</a> header.</li><li><a shape="rect" 
href="xpath.html">XPathBuilder</a> now supports being used without an <a 
shape="rect" href="exchange.html">Exchange</a> which allows you to use it in a 
custom/generic fashion.</li><li><a shape="rect" href="xpath.html">XPath</a> now 
supports using the JVM system property specifying a custom 
<code>XPathFactory</code> to be used. You can use this to switch from default 
to use e.g. Saxon.</li><li><a shape="rect" href="xslt.html">XSLT</a> now 
supports using <code>&lt;xsl:include&gt;</code> where the files is loaded from 
classpath, and being able to load relative according to the endpoint configured 
location. See the wiki page for details.</li><li><a shape="rect" 
href="file2.html">File</a>, <a shape="rect" href="ftp2.html">FTP</a> added 
option <code>eagerDeleteTargetFile</code> to control the behavior when using 
<code>tempFile</code> whether or not to eagerly delete the target file or wait 
until last moment.</li><li>Reduce
 d registering producers in JMX to prevent using too much memory and 
potentially registering short lived producers which didn't bring much value of 
being managed as well.</li><li>Added <a shape="rect" 
href="http.html">camel-http4</a> component using Apache HTTP Client 4.0.1. This 
can be used by early adaptors to try out the new Apache HTTP Client 4.x 
architecture.</li><li>Upgraded <a shape="rect" href="jetty.html">Jetty</a> to 
use Jetty 7.0.1.</li><li>Individual routes can be <a shape="rect" 
href="graceful-shutdown.html">Graceful Shutdown</a> at runtime, which allows 
you to stop the route in a more reliable and gentle way.</li><li>Added 
<code>removeHeaders</code> to remove multiple headers, e.g. use 
<code>removeHeaders("Camel*")</code> to remove all Camel related 
headers.</li><li>Improved the <a shape="rect" 
href="load-balancer.html">Failover load balancer</a> to support round robin 
mode and a few other options as well.</li><li>Fixed issue with Camel not being 
able to run deployed as
  a WAR in WebLogic server.</li><li>Fixed <a shape="rect" 
href="polling-consumer.html">Polling Consumer</a> not working with <a 
shape="rect" href="jms.html">JMS</a> selector.</li><li><a shape="rect" 
href="content-enricher.html">pollEnrich</a> now handover completions which 
means you can use the <code>move</code> like options from <a shape="rect" 
href="file2.html">File or FTP</a> component. For example to enrich with a file 
and have that file moved when the route completes.</li><li>Added @Attachments 
annotation to Bean binding.</li><li><a shape="rect" 
href="simple.html">Simple</a> and <a shape="rect" href="bean.html">Bean</a> 
language now has a build in OGNL notation which allows you to reference from 
<code>Map</code> or <code>List</code> structures and as well to invoke methods 
in a OGNL like notation. See more details at <a shape="rect" 
href="simple.html">Simple</a> wiki page.</li><li><a shape="rect" 
href="jetty.html">camel-jetty</a> supports the multipart/form post out of 
box.</li>
 <li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a> now 
shut down routes in the reverse order in which they was started. Option 
<code>shutdownRoutesInReverseOrder</code> can be used to control this 
behavior.</li><li><a shape="rect" href="xslt.html">XSLT</a> component now 
allows you to chose which output type to use with the <code>output</code> 
option. For example you can now stream directly to a file, for example when 
transforming very big xml messages.</li><li><a shape="rect" 
href="error-handler.html">Error Handler</a> can be configure with specialized 
&lt;errorHandler/&gt; tag to make it easier to configure error handling in 
Spring XML.</li><li>Added <code>depends-on</code> attribute to 
<code>&lt;camelContext/&gt;</code> so you can have other beans created before 
Camel when using Spring XML.</li><li>Added 
<code>org.apache.camel.builder.ProxyBuilder</code> to easier create <a 
shape="rect" href="using-camelproxy.html">Camel Proxy</a> in Java / Java 
DSL.</li><li><
 code>ProducerTemplate</code> and <code>ConsumerTemplate</code> can now be 
configured with a <code>maximumCacheSize</code> to control how many 
producers/consumers they can cache.</li><li>Methods on <code>CamelContext} to 
create {{ProducerTemplate</code> and <code>ConsumerTemplate</code> now pre 
starts the templates so they are ready to use asap.</li><li>Fixed polling <a 
shape="rect" href="file2.html">File</a>s on a Windows network share may skip 
files with a log message <code>Ignoring unsupported file type for 
file</code>.</li><li><code>ProducerCache</code> is now exposed for management 
in JMX which allows you to 'keep an eye on it' at runtime. This cache is used 
by certain EIP patterns.</li><li>Fixed polling <a shape="rect" 
href="file2.html">File</a>s or <a shape="rect" href="ftp2.html">FTP</a>s when 
recursive and idempotent is enabled, which could cause Camel to not pickup 
files in sibling folders with similar name to already consumed 
files.</li><li>Improved request/reply messaging
  over <a shape="rect" href="seda.html">SEDA</a> and <a shape="rect" 
href="vm.html">VM</a> endpoints to work properly with many endpoints 
(chained).</li><li><a shape="rect" href="jpa.html">JPA</a> component will now 
auto lookup <code>EntityManagerFactory</code> and 
<code>TransactionManager</code> from <a shape="rect" 
href="registry.html">Registry</a> to support convention over configuration. 
Then you do not any longer need to explicit configure this on the 
<code>JpaComoponent</code>. If auto lookup failed a <code>WARN</code> log is 
logged.</li><li>Fixed camel-spring having factory beans for 
<code>ProducerTemplate</code> and <code>ConsumerTemplate</code> set to non 
singleton, which caused it to create new instances. Obviously it should have 
been singleton as you want to reuse the template.</li><li>Fixed camel-spring 
when @Produce/@Consume/@EndpointInjected annotated was used on prototype scoped 
beans, to <strong>not</strong> register those annotated services to be closed 
in <code>Came
 lContext</code>. This caused Camel to keep references to these services even 
when the prototype was no longer in used. And causing Camel to eat 
memory.</li><li>Added <a shape="rect" 
href="spring-security.html">camel-spring-security</a> component, now you can 
use <a shape="rect" class="external-link" 
href="http://static.springsource.org/spring-security/site/index.html"; 
rel="nofollow">spring security</a> within camel route.</li><li><a shape="rect" 
href="mock.html">Mock</a> endpoints now report more detailed assertion failures 
when binary predicates are used, as you can see the evaluated expression which 
failed.</li><li>Improved the <a shape="rect" href="tracer.html">Tracer</a> to 
make it easier for Camel end users to extend it and use custom tracing such as 
storing to a database using <a shape="rect" href="jpa.html">JPA</a> but with 
their own <code>@Entity</code> class.</li><li>Improved <a shape="rect" 
href="wire-tap.html">Wire Tap</a> when sending a new <a shape="rect" 
href="exchange
 .html">Exchange</a> by having access to the original <a shape="rect" 
href="exchange.html">Exchange</a> so you can grab that information when 
creating the new <a shape="rect" 
href="exchange.html">Exchange</a>.</li><li>Fixed <code>Policy</code> to be 
applicable per processor, multiple processors or the entire route</li><li>Camel 
now checks more aggressively on startup if route nodes which mandates child 
nodes also have such configured. If not an exception will be thrown on 
startup.</li><li><a shape="rect" href="xpath.html">XPath</a> is now easier to 
work with as we added more type converters which supports the default type, 
<code>org.w3c.dom.NodeList</code>, use by <a shape="rect" 
href="xpath.html">XPath</a>.</li><li>When using Spring XML you can now <a 
shape="rect" href="how-do-i-import-routes-from-other-xml-files.html">import 
routes from other XML files</a></li><li>Much <a shape="rect" 
href="how-do-i-specify-time-period-in-a-human-friendly-syntax.html">friendlier 
syntax</a> to confi
 gure time periods in endpoint uris, for example the <a shape="rect" 
href="timer.html">Timer</a> component. Or how often to poll from a <a 
shape="rect" href="file2.html">File</a> or <a shape="rect" 
href="ftp2.html">FTP</a> consumer.</li><li><a shape="rect" 
href="http.html">Camel Http component</a> will not consumer the message body 
when it parses the POST message with the content-type of 
"application/x-www-form-urlencoded", and it also honors the charset setting of 
the "content-type".</li><li>Now you can enable or disable gzip processing by 
setting the exchange property with name Exchange.SKIP_GZIP_ENCODING and value 
Boolean.True in <a shape="rect" href="http.html">Camel Http 
component</a>.</li><li>Improved <code>NodeList</code> to <code>String</code> 
converter to include xml tags, attributes and whatnot, eg you get outputs such 
as <code>&lt;foo 
id="123"&gt;bar&lt;year&gt;2010&lt;/year&gt;&lt;/foo&gt;</code>.</li><li>Added 
<code>continued</code> option to <a shape="rect" href="except
 ion-clause.html">Exception Clause</a> so you can use it catch the exception 
and <strong>continue</strong> routing from the point of where the exception was 
thrown (Camel will continue to the next processor in the route 
graph).</li><li><a shape="rect" href="recipient-list.html">Recipient List</a> 
and <a shape="rect" href="routing-slip.html">Routing Slip</a> now has option 
<code>ignoreInvalidEndpoints</code> to just ignore and continue if an endpoint 
uri was invalid.</li><li>Now you can override the default XSL output properties 
by <a shape="rect" class="external-link" 
href="https://issues.apache.org/activemq/browse/CAMEL-2720";>setting the 
CamelContext properties</a></li><li>Now camel provides a karaf feature file 
with Spring 3.0.2.RELEASE, the features url is 
"mvn:org.apache.camel.karaf/apache-camel/2.3.0/xml/features-spring3"</li></ul><h3
 id="Camel2.3.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.
 3.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li><a shape="rect" 
href="nagios.html">camel-nagios</a> for sending passive checks to <a 
shape="rect" class="external-link" href="http://nagios.org"; 
rel="nofollow">Nagios</a></li><li><a shape="rect" 
href="properties.html">properties</a> for using property placeholders to 
resolve endpoint uris.</li><li><a shape="rect" href="gae.html">camel-gae</a> 
extensions<ul><li><a shape="rect" href="gauth.html">gauth</a> component for 
implementing <a shape="rect" class="external-link" 
href="http://code.google.com/apis/accounts/docs/OAuth.html"; 
rel="nofollow">OAuth</a> consumers.</li><li><a shape="rect" 
href="glogin.html">glogin</a> component for programmatic login to Google App 
Engine applications from Java clients.</li></ul></li><li><a shape="rect" 
href="hawtdb.html">camel-hawtdb</a> as persistent store for the <a shape="rect" 
href="aggregator2.html">Aggregator</a> EIP.</li><li><a shape="rect" 
href="netty.html">c
 amel-netty</a> for working with TCP and UDP protocols using Java NIO based 
capabilities offered by the JBoss Netty.</li><li><a shape="rect" 
href="exec.html">camel-exec</a> for executing system commands</li><li><a 
shape="rect" href="bean-validator.html">camel-bean-validator</a> performs bean 
validation of the message body using the Java Bean Validation API (<a 
shape="rect" class="external-link" href="http://jcp.org/en/jsr/detail?id=303"; 
rel="nofollow">JSR 303</a>).</li><li><a shape="rect" 
href="spring-security.html">camel-spring-security</a> support to integrate the 
<a shape="rect" class="external-link" 
href="http://static.springsource.org/spring-security/site/index.html"; 
rel="nofollow">spring security</a> with Camel.</li><li><a shape="rect" 
href="crypto-digital-signatures.html">camel-crypto</a> using Camel 
cryptographic endpoints and Java's Cryptographic extension it is easy to create 
Digital Signatures for <a shape="rect" 
href="exchange.html">Exchange</a>s.</li><li><a shape="rect" 
 href="camel-eclipse.html">camel-eclipse</a> for using Camel with Eclipse 
RCP.</li></ul><h3 id="Camel2.3.0Release-NewDSL">New 
DSL</h3><ul><li><code>removeHeaders</code></li><li><code>validate</code></li></ul><h3
 id="Camel2.3.0Release-NewAnnotations">New 
Annotations</h3><ul><li><code>@Attachments</code></li></ul><h3 
id="Camel2.3.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" 
href="soap.html">SOAP</a> data format provides basic webservice support without 
the CXF Stack</li><li><a shape="rect" href="crypto.html">Crypto</a> data format 
integrates the Java Cryptographic Extension into Camel</li></ul><h3 
id="Camel2.3.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.3.0Release-New.3">New <a 
shape="rect" href="examples.html">Examples</a></h3><ul><li><a shape="rect" 
href="aggregate-example.html">camel-example-aggregate</a> shows the new 
overhauled <a shape="rect" href="aggregator2.html"
 >Aggregator</a> in use with persistence storage using <a shape="rect" 
 >href="hawtdb.html">HawtDB</a>.</li><li><a shape="rect" 
 >href="spring-security-example.html">camel-example-spring-security</a> shows 
 >how to use <a shape="rect" 
 >href="spring-security.html">camel-spring-security</a> to implement role based 
 >authorization.</li><li><a shape="rect" 
 >href="loadbalancing-mina-example.html">camel-example-loadbalancing-mina</a> 
 >shows how to use <a shape="rect" href="load-balancer.html">Load Balancer</a> 
 >EIP to balance communication with remote servers using <a shape="rect" 
 >href="mina.html">MINA</a>.</li></ul><h3 id="Camel2.3.0Release-New.4">New <a 
 >shape="rect" href="tutorials.html">Tutorials</a></h3><ul><li>The <a 
 >shape="rect" href="tutorial-oauth.html">OAuth tutorial</a> demonstrates how 
 >to implement <a shape="rect" class="external-link" href="http://oauth.net/"; 
 >rel="nofollow">OAuth</a> in web applications with Camel's new <a shape="rect" 
 >href="gauth.html">gauth</a> component.</li></ul><h2 id
 ="Camel2.3.0Release-APIbreaking">API breaking</h2><p>The <a shape="rect" 
href="aggregator2.html">Aggregate</a> has been overhauled and thus you need to 
migrate you Camel application if you use it.<br clear="none"> See the <a 
shape="rect" href="aggregator2.html">Aggregate</a> wiki page for which options 
it has you should use.</p><p>In <a shape="rect" href="mina.html">MINA</a> the 
header key <code>MinaConsumer.HEADER_CLOSE_SESSION_WHEN_COMPLETE</code> is 
moved to 
<code>MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE</code></p><p><code>org.apache.camel.spi.PollingConsumerPollStrategy</code>
 now returns a boolean in the <code>begin</code> method. Use <code>true</code> 
to accept to begin polling, and <code>false</code> to skip polling at this 
time.</p><p>A new method <code>onInit</code> has been added to 
<code>org.apache.camel.spi.RoutePolicy</code>.</p><p>Added method 
<code>removeHeaders</code> on the <code>org.apache.camel.Message</code> 
API.</p><p><code>getExecutorService/setExecutorSe
 rvice</code> have been removed from <code>DefaultComponent</code> and 
<code>DefaultEndpoint</code>.<br clear="none"> You should use 
<code>CamelContext.getExecutorServiceStrategy()</code> which is the API for 
creating thread pools in Camel.</p><p>Changed <code>Exception</code> to 
<code>Throwable</code> on the <code>org.apache.camel.spi.EventFactory</code> 
and the various <code>xxxEvent</code> objects as Camel now catches 
<code>Throwable</code> on shutdown to ensure a more robust shutdown in case a 
<code>Throwable</code> was thrown.</p><p>Removed unused class 
<code>org.apache.camel.spi.Provider</code>.</p><p>Fixed spelling in the 
<code>parallelProcessing</code> option from the <code>@RecipientList</code> 
annotation.</p><p><code>GenericFile</code> is no longer 
<code>java.io.Serializable</code></p><p>Method <code>adviceWith</code> on 
<code>RouteDefinition</code> now requires <code>CamelContext</code> as first 
parameter.</p><h2 id="Camel2.3.0Release-KnownIssues">Known Issues</h2><p>The <
 a shape="rect" href="tracer.html">Tracer</a> may not output all details for 
some situations such as when using <code>onCompletion</code> or 
<code>intercept</code> etc.</p><p>Not all <a shape="rect" 
href="examples.html">Examples</a> have ANT build.xml files to run the example 
using ANT.</p><p>If using <a shape="rect" href="quartz.html">camel-quartz</a> 
in OSGi it may stop the scheduler if you update bundles with Camel applications 
using <a shape="rect" href="quartz.html">Quartz</a> endpoints.<br clear="none"> 
See more details at this <a shape="rect" class="external-link" 
href="http://fusesource.com/forums/thread.jspa?threadID=1733&amp;tstart=0"; 
rel="nofollow">discussion</a>.</p><p>There is a potential dead lock in the <a 
shape="rect" href="aggregator2.html">Aggregator</a> when using timeout 
condition. See more at <a shape="rect" class="external-link" 
href="https://issues.apache.org/activemq/browse/CAMEL-2824";>CAMEL-2824</a>.</p><p>The
 <a shape="rect" href="error-handler.html">Logging
 ErrorHandler</a> does not work when also using <a shape="rect" 
href="exception-clause.html">onException</a>. It may go into an endless loop. 
So refrain from using logging error handler.</p><p>There is a concurrency issue 
when using predicates using binary operators such as <code>isEqualTo</code>. 
See <a shape="rect" class="external-link" 
href="https://issues.apache.org/activemq/browse/CAMEL-3188";>CAMEL-3188</a>.</p><p><a
 shape="rect" href="hawtdb.html">HawtDB</a> does not work in OSGi</p><p><a 
shape="rect" href="hawtdb.html">HawtDB</a> has a bug in version 1.4 or older 
which prevents the filestore to free unused space. Version 1.5 fixes 
this.</p><h2 
id="Camel2.3.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><p>The <a shape="rect" 
href="aggregator2.html">Aggregator</a> has been overhauled and thus you need to 
migrate you Camel application if you use it.<br clear="none"> See the <a 
shape="rect" href="aggregator2.html">Aggregator</a>
  wiki page for which options it has you should use.</p><p>The <a shape="rect" 
href="toasync.html">ToAsync</a> feature has been <strong>@deprecated</strong>. 
It will be replaced by a better asynchronous routing engine in the next Camel 
release.</p><p>The <a shape="rect" href="seda.html">SEDA</a> endpoint is now by 
default unbounded in size, where as before they had a default size of 
1000.</p><p><a shape="rect" href="jetty.html">camel-jetty</a> has been upgraded 
to use Jetty 7.0.1 from 6.1.22. These two versions is much different as 7.x is 
moved to be hosted at Eclipse, which means all it package names has been 
renamed.</p><p>In <a shape="rect" href="http.html">camel-http</a> some options 
in relation to authentication has been renamed to avoid clashing with using 
<code>username</code> and <code>password</code> as uri parameters, which can be 
common names to be used. Therefore if you have configured authentication on the 
<a shape="rect" href="http.html">HTTP</a> endpoint you have to re
 name those options, and as well a authentication method 
(<code>authMethod</code>) must be provided as well (BASIC, DIGEST, 
NTML).</p><p>Camel will now shutdown routes in reverse order in which they 
where started.</p><p>The outbound Exchange from <a shape="rect" 
href="splitter.html">Splitter</a> will now by default use the original <a 
shape="rect" href="exchange.html">Exchange</a> (input to Splitter). To use the 
old behavior you can configure the <a shape="rect" 
href="splitter.html">Splitter</a> to use 
<code>UseLatestAggregationStrategy</code>.</p><p>The camel-cxf component 
PAYLOAD mode has been improved to delegate all SOAP message parsing to CXF. The 
camel-cxf component now requires CXF 2.2.8 or newer.</p><p>XPath or working 
with XML. Camel now converters <code>NodeList</code> to <code>String</code> a 
bit differently as it now outputs the String including the XML tags, childtags, 
attributes etc. If using XPath you can use the <code>text()</code> function to 
grab only the text conte
 nt.</p><p>The default charset which is used in camel converters can be set by 
using the System property with the key 
<code>org.apache.camel.default.charset</code>, if not set it will fallback to 
use <code>UTF-8</code> by default.</p><h2 
id="Camel2.3.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.3.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.3.0/apache-camel-2.3.0.zip";>apache-camel-2.3.0.zip</a></p></td><td
 col
 span="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://archive.apache.org/dist/camel/apache-camel/2.3.0/apache-camel-2.3.0.zip.asc";>apache-camel-2.3.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.3.0/apache-camel-2.3.0.tar.gz";>apache-camel-2.3.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.3.0/apache-camel-2.3.0.tar.gz.asc";>apache-camel-2.3.0.tar.gz.asc</a></p></td></tr></tbody></table></div><div
 class="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macr
 o-icon"></span><div class="confluence-information-macro-body"><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.3.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" cl
 ass="external-link" 
href="http://archive.apache.org/dist/camel/apache-camel/2.3.0/apache-camel-2.3.0-src.zip";>apache-camel-2.3.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.3.0/apache-camel-2.3.0-src.zip.asc";>apache-camel-2.3.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.3.0/apache-camel-2.3.0-src.tar.gz";>apache-camel-2.3.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.3.0/apache-camel-2.3.0-src.tar.gz.asc";>apache-camel-2.3.0-src.tar.
 gz.asc</a></p></td></tr></tbody></table></div><h3 
id="Camel2.3.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="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+<script class="brush: java; gutter: false; theme: Default" 
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.3.0&lt;/version&gt;

Modified: websites/production/camel/content/camel-240-release.html
==============================================================================
--- websites/production/camel/content/camel-240-release.html (original)
+++ websites/production/camel/content/camel-240-release.html Thu Sep 14 
19:25:46 2017
@@ -93,7 +93,7 @@
 
 
 <h2 id="Camel2.4.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome 
to the 2.4.0 release which approx 182 issues resolved (new features, 
improvements and bug fixes such as...)</p><ul><li>Spring 3.0.3 is now the 
default Spring version used by Camel.</li><li>Fully non blocking <a 
shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing 
Engine</a> which all <a shape="rect" href="eip.html">EIP</a>s and some Camel <a 
shape="rect" href="components.html">Components</a> supported.</li><li>New 
feature to use scheduled <a shape="rect" href="exception-clause.html">delayed 
redelivery attempts</a> (they are fully asynchronous and non blocking). You 
need to enable this using the option 
<code>asyncDelayedRedelivery</code>.</li><li>Fixed a potential dead-lock when 
using <a shape="rect" href="aggregator2.html">Aggregator</a> with timeout 
completion set.</li><li>The <strong>camel-spring</strong> module now supports 
OSGi out of box, which renders <strong>camel-osgi</strong> 
 as <strong>@deprecated</strong>.</li><li><a shape="rect" 
href="using-osgi-blueprint-with-camel.html">OSGi blueprint</a> is now 
supported</li><li>Added new <a shape="rect" 
href="spring.html"><code>&lt;contextScan&gt;</code></a> to scan the <a 
shape="rect" href="registry.html">Registry</a> for <code>RouteBuilder</code> 
instances, just as scanning the classpath etc.</li><li>Manually started routes 
is now also <a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a> 
by Camel</li><li>Fixed issue using <a shape="rect" 
href="configuring-camel.html">RouteContextRef</a> with multiple <a shape="rect" 
href="camelcontext.html">CamelContext</a> from the same Spring 
ApplicationContext.</li><li><a shape="rect" href="bindy.html">Bindy</a> now 
supports Fixed-Length format message with padding, alignment (Left or 
Right)</li><li>Improved and fixes some issues with the <a shape="rect" 
href="ftp2.html">FTP</a> component.</li><li>Improved and fixed some issues 
using <code>MultiPartForm</code> 
 with <a shape="rect" href="jetty.html">Jetty</a>.</li><li>Add ability to 
configure <a shape="rect" href="bindy.html">Bindy</a> to remove whitespace when 
binding <code>Numeric</code> positions</li><li>Added option 
<code>useOriginalBody</code> to <a shape="rect" 
href="oncompletion.html">OnCompletion</a></li><li>Fixed issue when using 
mockito for testing when it uses CGLib proxies</li><li>Fixed issue with 
<code>@Consume</code> not running in an unit of work to ensure callbacks is 
invoked when its done</li><li><a shape="rect" href="routing-slip.html">Routing 
Slip</a> now uses <a shape="rect" href="expression.html">Expression</a> to 
define the slip. This is similar to the <a shape="rect" 
href="recipient-list.html">Recipient List</a> pattern</li><li>The security 
context can be passed from <a shape="rect" href="cxf.html">CXF</a> to other 
camel <a shape="rect" 
href="components.html">Components</a>.</li><li><code>ManagementAgent</code> 
settings can now be set using setters from Java, instead
  of having to use JVM system properties. See tip in <a shape="rect" 
href="camel-jmx.html">Camel JMX</a> wiki page.</li><li><a shape="rect" 
href="resequencer.html">Resequencer</a> in batch mode has two new options 
<code>allowDuplicates</code> and <code>reverse</code> which allows you to use 
it for re-ordering messages from <a shape="rect" href="jms.html">JMS</a> queues 
based on <code>JMSPriority</code></li><li>Tighten up the 
<code>ProducerTemplate</code> API a bit, see more details in the section 
<em>Important changes to consider when upgrading</em>.</li><li><a shape="rect" 
href="http.html">HTTP</a> now better supports sending binary 
files.</li><li>Fixed problem with using <a shape="rect" 
href="quartz.html">Quartz</a> in OSGi and having Camel applications being 
hot-deployed which potentially could cause <a shape="rect" 
href="quartz.html">Quartz</a> to stop scheduling in applications which haven't 
been stopped.</li><li>Fixed issue with pausing and resuming jobs when running 
<a shape="
 rect" href="quartz.html">Quartz</a> in clustered mode</li><li>Added options on 
<a shape="rect" href="quartz.html">Quartz</a> component to specify location of 
custom <code>quartz.properties</code> file to load from 
classpath.</li><li>Upgraded to latest <a shape="rect" 
href="quartz.html">Quartz</a> release 1.8.3.</li><li>Introduced 
<code>StartupListener</code> to allow components/endpoints/producers/consumers 
etc. as a listener to be notified when <code>CamelContext</code> have just been 
started. This allows any custom logic to be executed as a late starter. This 
ensures <a shape="rect" href="quartz.html">Quartz</a> scheduler is only started 
when all the routes and so forth is started and running.</li><li>Fixed issue 
with <a shape="rect" href="ftp2.html">FTP</a> configuring starting directory 
from uri not accepting an absolute path. In the endpoint uri just define two 
leading / to indicate absolute, eg 
<code>"ftp:admin:secret@someserver//absolutepath/foo/bar"</code>.</li><li>Added 
<co
 de>fromRoute</code> to <a shape="rect" 
href="notifybuilder.html">NotifyBuilder</a>.</li><li>Improved the <a 
shape="rect" href="csv.html">CSV</a> component.</li><li>Fixed issue with <a 
shape="rect" href="direct.html">Direct</a> endpoint having no consumers if 
endpoint have been evicted from <code>CamelContext</code> internal 
LRUCache.</li><li>The <a shape="rect" href="routebuilder.html">RouteBuilder</a> 
now have <code>simple</code> and <code>xpath</code> expression builder methods 
out of the box.</li><li>Upgraded to latest release of Scala 2.8.0RC7 in <a 
shape="rect" href="scala-dsl.html">Scala DSL</a></li><li><a shape="rect" 
href="hawtdb.html">camel-hawtdb</a> updated to <a shape="rect" 
class="external-link" href="http://github.com/chirino/hawtdb/tree/hawtdb-1.1"; 
rel="nofollow">HawtDB 1.1</a> picks up several bug fixes that improves 
stability and performance.</li><li>Fixed issue with <a shape="rect" 
href="splitter.html">splitting</a> <a shape="rect" href="file2.html">file</a>s 
using
  <code>tokenizer</code> not being able to delete/move file after processing is 
done on Windows platform.</li><li><code>maxMessagesPerPoll</code> is now 
applied eagerly to limit intaking files earlier for the <a shape="rect" 
href="file2.html">File</a> and <a shape="rect" href="ftp2.html">FTP</a> 
components, Thus avoid excessive memory consumption if you poll directories 
which contains 100.000+ files.</li><li>Added <code>connectTimeout</code>, 
<code>soTimeout</code> and <code>timeout</code> to <a shape="rect" 
href="ftp2.html">FTP</a> so its easier to configure 
timeouts.</li><li>Consolidated support for per platform disabling of tests 
across the entire test suite.</li><li>Introduced <a shape="rect" 
href="processorfactory.html">ProcessorFactory</a> to be able to use a custom 
factory to be able to manipulate <a shape="rect" 
href="processor.html">Processor</a> creation process. For example to add 
additional outputs or manipulate the route model.</li><li><a shape="rect" 
href="jms.html">cam
 el-jms</a> now supports Oracle AQ</li><li>Added a <a shape="rect" 
href="camel-2x-debugger-api.html">Debugger</a> API to be leveraged by 3rd party 
tooling.</li><li>The <code>beanRef</code> and <code>methodCall</code> DSLs will 
eager check on startup, the bean reference exists in <a shape="rect" 
href="registry.html">Registry</a> and the provided method name is a valid 
method name on the bean as well. This helps to fail fast if end users have a 
typo in their routes.</li><li><a shape="rect" href="camel-jmx.html">JMX</a> now 
exposes notifications which listeners can receive.</li><li>Added 
<code>ExchangeRedeliveryEvent</code> event being emitted when Camel <a 
shape="rect" href="error-handler.html">Error Handler</a> attempts a 
redelivery.</li><li><a shape="rect" href="properties.html">Properties</a> 
component can lookup <code>java.util.Properties</code> from the <a shape="rect" 
href="registry.html">Registry</a> using the <code>ref:</code> 
prefix.</li><li><a shape="rect" href="spring-securi
 ty.html">Spring Security</a> is upgrade to spring security 
3.0.3.RELEASE.</li></ul><h3 id="Camel2.4.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.4.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li><a shape="rect" 
href="ejb.html">EJB</a> to access <a shape="rect" href="ejb.html">EJB</a> beans 
in a similar way as with the <a shape="rect" href="bean.html">Bean</a> 
component</li><li><a shape="rect" href="class.html">Class</a> to invoke beans 
defined using the fully qualified class name</li><li><a shape="rect" 
href="using-osgi-blueprint-with-camel.html">OSGi Blueprint</a> to use Camel 
with OSGi blueprint</li></ul><h3 id="Camel2.4.0Release-NewDSL">New DSL</h3><h3 
id="Camel2.4.0Release-NewAnnotations">New 
Annotations</h3><ul><li><code>@RoutingSlip</code></li></ul><h3 
id="Camel2.4.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3
 ><h3 id="Camel2.4.0Release-New.2">New <a shape="rect" 
 >href="languages.html">Languages</a></h3><h3 id="Camel2.4.0Release-New.3">New 
 ><a shape="rect" href="examples.html">Examples</a></h3><h3 
 >id="Camel2.4.0Release-New.4">New <a shape="rect" 
 >href="tutorials.html">Tutorials</a></h3><h2 
 >id="Camel2.4.0Release-APIbreaking">API breaking</h2><p>The <a shape="rect" 
 >href="toasync.html">ToAsync</a> has been removed and replaced with a better 
 ><a shape="rect" href="asynchronous-processing.html">asynchronous routing 
 >engine</a>.</p><p><a shape="rect" href="routing-slip.html">Routing Slip</a> 
 >now requires using <a shape="rect" href="expression.html">Expression</a> to 
 >specify the routing slip header, the XML DSL of <a shape="rect" 
 >href="routing-slip.html">Routing Slip</a> is broken.</p><div class="code 
 >panel pdl" style="border-width: 1px;"><div class="codeContent panelContent 
 >pdl">
-<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[    &lt;route&gt;
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[    &lt;route&gt;
        &lt;from uri=&quot;direct:a&quot;/&gt;
        &lt;!--NOTE from Camel 2.4.0, you need to specify the expression 
element inside of the routingSlip element --&gt;
        &lt;routingSlip ignoreInvalidEndpoints=&quot;true&quot;&gt;
@@ -102,7 +102,7 @@
     &lt;/route&gt;
 ]]></script>
 </div></div><p>The <code>retryUntil</code> method on <a shape="rect" 
href="exception-clause.html">onException</a> have been renamed to 
<code>retryWhile</code> to better match what it does. It keeps retrying while 
the predicate returns 
<code>true</code>.</p><p><code>org.apache.camel.spi.Policy</code> now has an 
additional method <code>beforeWrap</code> which means you need to implement 
this method in your implementations. Just add a empty method to 
adapt.</p><p>The class 
<code>org.apache.camel.management.event.ExchangeFailureEvent</code> has been 
renamed to 
<code>org.apache.camel.management.event.ExchangeFailedEvent</code>.</p><h2 
id="Camel2.4.0Release-KnownIssues">Known Issues</h2><p>The <a shape="rect" 
href="tracer.html">Tracer</a> may not output all details for some situations 
such as when using <code>onCompletion</code> or <code>intercept</code> 
etc.</p><p>Not all <a shape="rect" href="examples.html">Examples</a> have ANT 
build.xml files to run the example using ANT.</p><p>The re
 ad <code>timeout</code> in <a shape="rect" href="netty.html">Netty</a> is 
causing it to spawn threads and you end up with out of memory error. You have 
to disable using timeout by setting the <code>timeout=0</code> in the endpoint 
configuration. This issue has been fixed in the next release.</p><p>The <a 
shape="rect" href="error-handler.html">LoggingErrorHandler</a> does not work 
when also using <a shape="rect" href="exception-clause.html">onException</a>. 
It may go into an endless loop. So refrain from using logging error 
handler.</p><p>The <a shape="rect" href="camel-jmx.html">JMX</a> statistics for 
<code>type=processors</code> is being counted double. The stats on the 
<code>type=routes</code> is correct though.</p><p>The <a shape="rect" 
href="jetty.html">Jetty</a> component sends back HTTP headers with lower-case 
keys.</p><p><a shape="rect" href="hawtdb.html">HawtDB</a> does not work in 
OSGi</p><p><a shape="rect" href="hawtdb.html">HawtDB</a> has a bug in version 
1.4 or older whi
 ch prevents the filestore to free unused space. Version 1.5 fixes 
this.</p><p>There is a concurrency issue when using predicates using binary 
operators such as <code>isEqualTo</code>. See <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/activemq/browse/CAMEL-3188";>CAMEL-3188</a>.</p><p>The
 <a shape="rect" href="ftp2.html">FTP</a> consumer may stop continue polling. 
You can start the consumer from eg. a management console and it will start 
again.</p><h2 
id="Camel2.4.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><p>Camel now uses Spring 3.0.3 as the 
default Spring version. Spring 2.5 is still supported.<br clear="none"> Spring 
2.0.x support is now <strong>@deprecated</strong> and will in future releases 
<strong>not</strong> be supported.</p><div class="confluence-information-macro 
confluence-information-macro-warning"><p class="title">Spring 3.0 dependency 
injection changed</p><span class="aui-icon aui-icon-smal
 l aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Mind that Spring 3.0 has changed 
how it performs dependency injection. In fact it may even perform this 
differently than what Spring 2.5 would do. For example the order and which 
beans is dependency injected on startup could potential affect your existing 
Camel applications when upgrading. It appears as Spring 3.0 has gotten worse in 
this area and you may have to specify <code>depends-on</code> attributes on 
your spring <code>bean</code> to help 
Spring.</p></div></div><p><code>IntrospectionSupport</code> has been improved 
to be consistent for <code>getProperty</code> and <code>getProperties</code>. 
Also <code>getProperties</code> now find all relevant properties. This will 
often only be relevant for Camel end users who build their own components any 
may use <code>IntrospectionSupport</code>.</p><p>The 
<code>ProducerTemplate</code> have been tighten up a bit. All <code>sen
 d/request -body</code> methods will now throw a 
<code>CamelExecutionException</code> with the cause wrapped. This ensures its 
consistent.</p><p>The <a shape="rect" href="ftp2.html"><code>ftps</code></a> is 
now using secure data channel also when transferring files. There has been 
added some options which you can use to control the behavior and turn it off if 
you want the old behavior (only secure login).</p><p>The <a shape="rect" 
href="ftp2.html">FTP</a> starting directory can now be set using absolute paths 
as well. In the endpoint uri just define two leading / to indicate absolute, eg 
<code>"ftp:admin:secret@someserver//absolutepath/foo/bar"</code>.</p><p>The 
default port from <a shape="rect" href="ftp2.html"><code>ftps</code></a> has 
been changed from 2222 to 21.</p><p>The <a shape="rect" 
href="ftp2.html">FTP</a> is now using a default of 10 sec connect timeout 
(ALL), and 30 sec data timeout (FTP/FTPS only).</p><p>The <a shape="rect" 
href="routebuilder.html">RouteBuilder</a> now 
 have <code>simple</code> and <code>xpath</code> expression builder methods out 
of the box, which means you don't have to use static imports to use those two 
<a shape="rect" href="languages.html">Languages</a>. The compiler may complain 
if you have a static import, which you simply fix by removing the static 
import.</p><h2 id="Camel2.4.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.4.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/came
 
l/apache-camel/2.4.0/apache-camel-2.4.0.zip">apache-camel-2.4.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.4.0/apache-camel-2.4.0.zip.asc";>apache-camel-2.4.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.4.0/apache-camel-2.4.0.tar.gz";>apache-camel-2.4.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.4.0/apache-camel-2.4.0.tar.gz.asc";>apache-camel-2.4.0.tar.gz.asc</a></p></td></tr></tbody></table></div><div
 class="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirectio
 n</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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.4.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.4.0/apache-camel-2.4.0-src.zip";>apache-camel-2.4.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.4.0/apache-camel-2.4.0-src.zip.asc";>apache-camel-2.4.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.4.0/apache-camel-2.4.0-src.tar.gz";>apache-camel-2.4.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.4.0/apache-camel-2.4.0-src.tar.gz.asc">apache-camel-2.4.0-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.4.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="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+<script class="brush: java; gutter: false; theme: Default" 
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.4.0&lt;/version&gt;


Reply via email to