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><onException></code>, <code><onCompletion/></code> when using in combination with <code><transacted/></code>.</li><li><code><proxy></code>, <code><export></code>, <code><endpoint></code>, <code><template></code>, <code><consumerTemplate></code> can be defined outside of <code><camelContext></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<EventNotifier></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[<dependency> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>2.2.0</version>
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> </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. </li><li>Camel <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 <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 <camelContext>. </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 <a shape="rect" href="twitter.html">Twitter</a> component into 4, now directmessage, seach, streaming and timeline has its own endpoint and scheme. See <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> for more details</li><li>Introduced <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 <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 <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 <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. </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 <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. </li><li>The <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 <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 <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 <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 & character.</li><li>The <a shape="rect" href="restlet.html">Restlet</a> component is now internally using 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 <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 <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 <a shape="rect" href="bean.html">Bean</a> and <a shape="rect" href="simple.html">Simple</a> OGNL expressions causing ambiguous method call exception <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 <a shape="rect" href="rest.html">Rest</a> producer not using HTTP method (verb such as PUT) from the endpoint uri when calling a remote REST service</span></li><li><span>Fixed <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 <a shape="rect" href="rest-dsl.html">Rest DSL</a> via application.properties|yaml in <a shape="rect" href="spring-boot.html">Spring Boot</a> not working. </span></li><li><span>Fixed <a shape="rect" href="https://cwiki.apache.org/confluence/display/CAMEL/Simple">Simple Language</a> to add support negative numbers(without single or double quotes) in predicates</span></li><li><span>Fixed configuring <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 <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. </span></li><li><span>Fixed an issue with making <a shape="rect" href="jms.html">JMS</a> and <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 - <span style="color: rgb(0,0,0);">matchOnUriPrefix option is defaulted to be FALSE in order to make it consistent with other components like Camel HTTP components.</span></span></span></span></li><li>Splitted <a shape="rect" href="twitter.html">Twitter</a> component into 4, now directmessage, seach, streaming and timeline has its own endpoint and scheme. See <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> 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 <from> or <to> have endpoints assigned with an explicit id attribute. The option registerEndpointIdsFromRoute can be set to true on <camelContext> to be backwards compatible. However this registration is deprecated, instead you should use <endpoin t> 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[<dependency> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>x.y.x</version> </dependency> ]]></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&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[ <threadPoolProfile id="myDefaultProfile" defaultProfile="true" poolSize="5" keepAliveTime="25" maxPoolSize="15" maxQueueSize="250" rejectedPolicy="Abort"/> 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><CamelContext></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><xsl:include></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 <errorHandler/> tag to make it easier to configure error handling in Spring XML.</li><li>Added <code>depends-on</code> attribute to <code><camelContext/></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><foo id="123">bar<year>2010</year></foo></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&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[<dependency> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>2.3.0</version> 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><contextScan></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[ <route> +<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ <route> <from uri="direct:a"/> <!--NOTE from Camel 2.4.0, you need to specify the expression element inside of the routingSlip element --> <routingSlip ignoreInvalidEndpoints="true"> @@ -102,7 +102,7 @@ </route> ]]></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"><