You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2014/03/07 09:20:02 UTC

svn commit: r900415 [2/2] - in /websites/production/camel/content: cache/main.pageCache camel-2102-release.html camel-2103-release.html camel-2104-release.html camel-2105-release.html camel-2106-release.html camel-2107-release.html camel-290-release.html

Modified: websites/production/camel/content/camel-290-release.html
==============================================================================
--- websites/production/camel/content/camel-290-release.html (original)
+++ websites/production/camel/content/camel-290-release.html Fri Mar  7 08:20:01 2014
@@ -86,130 +86,25 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.9.0Release-Camel2.9.0release">Camel 2.9.0 release</h1>
-
-<div style="padding-right:20px;float:left;margin-left:-20px;">
-<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div>
-<div style="min-height:200px"></div>
-
-<h2 id="Camel2.9.0Release-NewandNoteworthy">New and Noteworthy</h2>
-
-<p>Welcome to the 2.9.0 release which approx 497 issues resolved (new features, improvements and bug fixes such as...)</p>
-
-<ul><li>Introduced <code>ThreadPoolFactory</code> with a simpler API for 3rd party SPI. See <a shape="rect" href="threading-model.html">Threading Model</a> for more details.</li><li>The <code>ScheduledExecutorService</code> created by Camel is guarded with a queue size check, to guard against OOME due the JDK thread pool is unbounded task queue.</li><li>The <a shape="rect" href="soap.html">SOAP</a> data format now supports using multiple parameters on the JAXB objects.</li><li>The <a shape="rect" href="bean.html">Bean</a> component now supports specifying parameter values to use directly in the method syntax. See more details at <a shape="rect" href="bean-binding.html">Bean Binding</a>. For example to invoke a bean with body as first parameter, and a boolean true as second you can now do: <code>.to("bean:myBean?method=myMethod(body, true)")</code></li><li>The <a shape="rect" href="bean.html">Bean</a> component supports binding to private class beans by fallback to use interface meth
 ods.</li><li>Improved labels of all model definitions which appear in <a shape="rect" href="tracer.html">Tracer</a> output</li><li>Reduced dependency for <code>camel-core</code> to not require <code>commons-management</code> JAR anymore</li><li>Added blueprint support of cxfrs endpoint.</li><li>Camel no longer depend on using Spring JARs for having Camel enlisted in <a shape="rect" href="camel-jmx.html">JMX</a>.</li><li>Introduced a set of Camel JMX annotations in <code>org.apache.camel.api.management</code> that can be used to easily instrument Camel <a shape="rect" href="components.html">Components</a>, <a shape="rect" href="eip.html">EIP</a>s, custom <a shape="rect" href="processor.html">Processor</a>s, <a shape="rect" href="bean.html">Bean</a>s etc. for being managed in <a shape="rect" href="camel-jmx.html">JMX</a>. Using the Spring JMX annotations is still supported (you would need <code>camel-spring</code> on the classpath).</li><li>Updated the <a shape="rect" href="aggregator
 2.html">Aggregator2</a> to allow for manually completing all exchange groups by sending a message containing the header <code>Exchange.AGGREGATION_COMPLETE_ALL_GROUPS</code> set to true.</li><li>Updated the <a shape="rect" href="aggregator2.html">Aggregator2</a> to support forceCompletionOnStop option to complete all current aggregated exchanges when the context is stopped.</li><li>Removed dependency on Spring JARs in the following components: <a shape="rect" href="validation.html">Validation</a>, <a shape="rect" href="xslt.html">XSLT</a>, <a shape="rect" href="velocity.html">Velocity</a>, <a shape="rect" href="freemarker.html">Freemarker</a>, <a shape="rect" href="flatpack.html">Flatpack</a>, <a shape="rect" href="stringtemplate.html">StringTemplate</a>, <a shape="rect" href="ibatis.html">iBatis</a>, <a shape="rect" href="jing.html">Jing</a>, <a shape="rect" href="msv.html">Msv</a>, <a shape="rect" href="xquery.html">XQuery</a>, <a shape="rect" href="test.html">Test</a>, <a shape="
 rect" href="groovy.html">Groovy</a>, <a shape="rect" href="scripting-languages.html">Scripting Languages</a>, <a shape="rect" href="mail.html">Mail</a> and <a shape="rect" href="quickfix.html">QuickFix</a>.</li><li>Using <a shape="rect" href="content-enricher.html">pollEnrich</a> with a file/ftp endpoint will now only poll on demand, beforehand the polling could be started when the route started.</li><li>Added option <code>ReplyToType</code> on <a shape="rect" href="jms.html">JMS</a> to allow people to control which kind of reply queue they are using (temporary, shared, exclusive). Added support for exclusive reply queues. Mind they have some limitations, by which the shared dont have. So use exclusive with a bit caution.</li><li>Added <code>wereSentTo</code> to <a shape="rect" href="notifybuilder.html">NotifyBuilder</a> allowing to set expectation that <a shape="rect" href="exchange.html">Exchange</a>s was sent to the given endpoint uri.</li><li><a shape="rect" href="bindy.html">Bi
 ndy</a> in CSV format now uses trim, clip, and length attributes on @DataField when marshalling.</li><li>Improved managed browsable endpoints (JMX) so you can browse all/range messages and whether to include message body or not.</li><li><a shape="rect" href="file2.html">File</a> and <a shape="rect" href="ftp2.html">FTP</a> endpoints is now browsable endpoints. For example using JMX people can browse the endpoint listing available files. The returned data does <strong>not</strong> contain the actual file body to avoid loading big data into memory.</li><li>Added <code>replaceFromWith</code> to <a shape="rect" href="advicewith.html">AdviceWith</a> making it easy to swap a route input endpoint with something else, for easier unit testing.</li><li>Added Java DSL support for route autoStartup(String) and autoStartup(boolean)</li><li>Switched to a better performing non locking endpoint cache based on Google's ConcurrentLinkedHashMap.</li><li>Added <code>isUseAdviceWith</code> to <a shape="
 rect" href="camel-test.html">Camel Test</a> which allows end users to tell Camel that the unit tests uses <a shape="rect" href="advicewith.html">AdviceWith</a> which allows you to defer starting <a shape="rect" href="camelcontext.html">CamelContext</a> until after the adviceWith has been executed.</li><li>Added <code>filtersRef</code> option to <a shape="rect" href="jetty.html">Jetty</a> endpoint, and it supports to setup the Filters on the Jetty endpoints.</li><li>Added <code>ciphers</code> option to the <a shape="rect" href="ftp2.html">SFTP</a> endpoint to allow configuration of the ciphers used by default.</li><li>Added <code>fastExitsCheck</code> option to the <a shape="rect" href="ftp2.html">SFTP FTP</a> endpoint to check the file exits fast.</li><li>Added <code>errorHandler</code> option to the <a shape="rect" href="jms.html">JMS</a> component which allows you to set a <code>org.springframework.util.ErrorHandler</code> to be invoked in case of any uncaught exceptions thrown wh
 ile processing a <code>Message</code>.</li><li>Added <code>idleConsumerLimit</code> option to the <a shape="rect" href="jms.html">JMS</a> component which sets the limit for the number of consumers that are allowed to be idle at any given time.</li><li><a shape="rect" href="simple.html">Simple</a> language has a much better syntax parser, being able to report what and where syntax errors are. Added unary operators, which for example can be used to increment counters.</li><li><a shape="rect" href="simple.html">Simple</a> language now supports nested functions, so you can do "${header.${header.bar}}", for example to refer to a header key from another header.</li><li><a shape="rect" href="simple.html">Simple</a> language can now configure custom start/end tokens for its built-in functions.</li><li>The <a shape="rect" href="jpa.html">JPA</a> component has been upgraded from using the JPA1 spec to use JPA2 spec.</li><li>The <a shape="rect" href="csv.html">CSV</a> component now always retu
 rns a List&lt;List&gt; regardless if 1 or more rows returned, to be consistent.</li><li><a shape="rect" href="resequencer.html">Resequencer</a> now pre validates incoming <a shape="rect" href="exchange.html">Exchange</a> and throws <code>CamelExchangeException</code> if invalid. Added new option <code>ignoreInvalidExchanges</code> to suppress the exception and ignore invalid exchanges.</li><li>Improved existing and added more <a shape="rect" href="karaf.html">Karaf</a> Camel commands.</li><li>Improved <a shape="rect" href="bean.html">Bean</a> component and method call expressions to be able to invoke static methods, without creating a new instance of the class.</li><li><a shape="rect" href="camel-jmx.html">JMX</a> now exposes average load statics on CamelContext and Route mbeans. Its similar to unix load stats per 1, 5 and 15 minutes.</li><li>Added support for <code>minDepth</code> and <code>maxDepth</code> option on the <a shape="rect" href="ftp2.html">FTP</a> consumers.</li><li>Im
 proved the <a shape="rect" href="aws-s3.html">AWS-S3</a> component to support more headers in the producer.</li><li><a shape="rect" href="cometd.html">Cometd</a> now includes headers in the server message.</li><li><a shape="rect" href="ftp2.html">SFTP</a> now supports interactive keyboard authentication, but entering the password in the prompt.</li><li>ManagedTracer now supports detailed JMX TraceEvent Notifications. This allows to watch message flows using JConsole and provides an ideal base for external tooling</li><li>Exchange.HTTP_URI query part will take effect on the producer of <a shape="rect" href="http.html">http</a> and <a shape="rect" href="http4.html">http4</a>.</li><li>Add <code>camelContextId</code> to <a shape="rect" href="mdc-logging.html">MDC logging</a>.</li><li>Hadoop consumer supports auto merging multiple segment files.</li><li><a shape="rect" href="jms.html">JMS</a> consumer has new option <code>asyncConsumer</code> which allows to enable <a shape="rect" href="
 asynchronous-routing-engine.html">Asynchronous Routing Engine</a></li><li>The <a shape="rect" href="camel-maven-archetypes.html">camel-archetype-component</a> allows to specify the component name.</li><li><a shape="rect" href="polling-consumer.html">Polling Consumer</a>s such as <a shape="rect" href="file2.html">File</a> or <a shape="rect" href="ftp2.html">FTP</a> supports new option <code>sendEmptyMessageWhenIdle</code> to send an empty message if there was no messages to poll.</li><li>Added option <code>allowStAX</code> on <a shape="rect" href="xslt.html">XSLT</a> and <a shape="rect" href="xquery.html">XQuery</a> to control whether StAX (Streaming API for XML) is preferred as the <code>javax.xml.transform.Source</code>.</li><li>Added <code>properties</code> function to <a shape="rect" href="scripting-languages.html">Scripting Languages</a> to make it easier to leverage Camel <a shape="rect" href="properties.html">Properties</a> component from scripts.</li><li>Added <code>timeoutCh
 eckerExecutorService</code> and <code>timeoutCheckerExecutorServiceRef</code> options to the aggregator. If using either of the <code>completionTimeout</code>, <code>completionTimeoutExpression</code>, or <code>completionInterval</code> options a background thread is created to check for the completion for every aggregator. This doesn't scale well when you have many routes with an aggregator (a thread is created for every aggregator). Setting these options allow you to control the number of threads by providing a custom thread pool.</li><li><a shape="rect" href="splitter.html">Splitting</a> big files such as XML files can now be done in a streamed low-memory footprint mode using the <a shape="rect" href="tokenizer.html">Tokenizer</a> language or the <a shape="rect" href="stax.html">StAX</a> component.</li><li>The <a shape="rect" href="language.html">Language</a> component can now load scripts from classpath or file system. As well having a cached option.</li><li>Further improved mas
 king of passwords in URIs specified in the user info part, in the Camel logs.</li><li>Optimized <a shape="rect" href="request-reply.html">Request Reply</a> over <a shape="rect" href="jms.html">JMS</a> when using named replyTo queues to cache consumer if possible, making it go faster. This applies when using either the <code>replytToType=Exclusive</code> or <code>replyToDestinationSelectorName</code> options.</li><li>Fixed <a shape="rect" href="jpa.html">JPA</a> consumer to ensure to rollback if processing an <a shape="rect" href="exchange.html">Exchange</a> failed.</li><li>Added <code>quote</code> option to <code>@CsvRecord</code> in <a shape="rect" href="bindy.html">Bindy</a> to make it easy to specify using a quote character when marshalling from Object to CSV format.</li><li>Added <code>consumer.transacted</code> option to <a shape="rect" href="jpa.html">JPA</a> to control whether the consumer should regard the batch as a single encompassing transaction or not.</li><li>Added abil
 ity in <a shape="rect" href="xslt.html">Xslt</a> component to dynamically override stylesheet used via <code>CamelXsltResourceUri</code> message header.</li><li>Added ability in <a shape="rect" href="aws-sns.html">AWS-SNS</a> component to specify the topic policy.</li><li>Added ability in <a shape="rect" href="aws-s3.html">AWS-S3</a> component to specify the bucket policy and the storage class.</li><li><a shape="rect" href="log.html">Log</a> component and <a shape="rect" href="logeip.html">LogEIP</a> now supports the <a shape="rect" class="external-link" href="http://www.slf4j.org/api/org/slf4j/Marker.html" rel="nofollow">Marker</a> option</li><li><a shape="rect" href="log.html">Log</a> and <a shape="rect" href="tracer.html">Tracer</a> now have a default <code>maxChars</code> option at <code>10000</code> to avoid logging very big data.</li><li>Added ability in <a shape="rect" href="sql-component.html">SQL</a> to execute SQL batch statements.</li><li>Added the configuration support o
 f queueSize and concurrentConsumers options on the <a shape="rect" href="seda.html">seda</a> <a shape="rect" href="vm.html">vm</a> component.</li><li>Added MBean interfaces in <code>org.apache.camel.api.management.mbean</code> which clients can use to access Camel MBeans.* Added MBean interfaces in <code>org.apache.camel.api.management.mbean</code> which clients can use to access Camel MBeans.</li><li>Introduced <code>AbstractJdbcMessageIdRepository</code> in <a shape="rect" href="sql-component.html">SQL component</a> to make it easier to create custom JDBC based <a shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a></li></ul>
-
-
-<h3 id="Camel2.9.0Release-Fixedissues">Fixed issues</h3>
-
-<ul><li>Fixed issue with <a shape="rect" href="properties.html">Properties</a> component may cache duplicates and thus take up unnecessary memory in the cache</li><li>Fixed issue with <a shape="rect" href="tracer.html">Tracer</a> out exchanges when using <a shape="rect" href="asynchronous-processing.html">Asynchronous Processing</a> by the <a shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing Engine</a></li><li>Fixed issue with <a shape="rect" href="component.html">Component</a>s or <a shape="rect" href="endpoint.html">Endpoint</a>s not being registered in <a shape="rect" href="camel-jmx.html">JMX</a> when using <a shape="rect" href="pojo-producing.html">POJO Producing</a>, <a shape="rect" href="pojo-consuming.html">POJO Consuming</a> or other Camel bean annotations.</li><li>Fixed issue which could cause <code>DefaultUnitOfWork</code> to throw a <code>java.util.EmptyStackException</code> under heavy load</li><li>Fixed issue with <a shape="rect" href="mdc-loggi
 ng.html">MDC logging</a> not remembering old values, for example when using a <code>ProducerTemplate</code> from within routes to send new messages.</li><li>Fixed issue when invoking a <a shape="rect" href="bean.html">Bean</a> and that bean is using a <code>@Bean</code> in its method signature, causing the <code>@Bean</code> to not invoke its intended method</li><li>Fixed issue with <a shape="rect" href="bindy.html">Bindy</a> unmarshalling in key value or CSV or mode, may cause inconsistency for multiple threaded unmarshalling</li><li>Fixed issue with <code>ExchangeSentEvent</code> being fired to early when being sent to <a shape="rect" href="asynchronous-routing-engine.html">asynchronously</a> endpoint. Now its being fired when sent is done.</li><li>Fixed issue with <a shape="rect" href="using-osgi-blueprint-with-camel.html">OSGi Blueprint</a> when consuming <a shape="rect" href="jaxb.html">JAXB</a> annotated objects from <a shape="rect" href="activemq.html">ActiveMQ</a> causing Cl
 assCastException's.</li><li>Fixed issue with using <code>OnException</code> and using <code>redeliveryPolicyRef</code> which could cause the <a shape="rect" href="error-handler.html">Error Handler</a> to fail with an assertion error at first redelivery attempt.</li><li>Fixed issue with using <code>doneFile</code> option on <a shape="rect" href="ftp2.html">FTP</a> when from a Windows computer connecting to a Unix FTP server, due to wrong path separator in use.</li><li>Fixed issue with <a shape="rect" href="bindy.html">Bindy</a> in CSV mode when marshalling not using correct separator char if given an escaped separator char on the model class.</li><li>Fixed issue with evaluation of <a shape="rect" href="simple.html">Simple</a> language not being as fast as it could be.</li><li>Fixed issue with <a shape="rect" href="file2.html">File</a> consumer not auto creating start dir if having dot in name.</li><li>Fixed issue with <a shape="rect" href="splitter.html">Splitter</a>, <a shape="rect"
  href="recipient-list.html">Recipient List</a> and <a shape="rect" href="routing-slip.html">Routing Slip</a> throwing exceptions from custom expressions, not being triggered by <a shape="rect" href="exception-clause.html">Exception Clause</a>s.</li><li>Fixed issue with stale OUT message set on <a shape="rect" href="exchange.html">Exchange</a> if exception was thrown from <code>unmarshal</code> or <code>marshal</code> operations from <a shape="rect" href="data-format.html">Data Format</a></li><li>Fixed issue with request/reply over <a shape="rect" href="jms.html">JMS</a> when using <code>useMessageIDAsCorrelationID=true</code> and fixed reply queues, causing JMSMessage selector to not evict timed out correlationIDs, which cause the JMSMessage selector to keep growing.</li><li>Fixed issue with <a shape="rect" href="xslt.html">XSLT</a>, <a shape="rect" href="xquery.html">XQuery</a> and <a shape="rect" href="xpath.html">XPath</a> may lock file resource if exception occurred during trans
 formation</li><li>Fixed issue with <a shape="rect" href="flatpack.html">Flatpack</a> dropping all headers from the original message</li><li>Fixed issue with <code>wereSentTo</code> on <a shape="rect" href="notifybuilder.html">NotifyBuilder</a> may trigger to soon, as well you no longer must configured it at first</li><li>Fixed issue with <a shape="rect" href="smpp.html">SMPP</a> by sending multipart and multilingual messages</li><li>Fixed issue with using <a shape="rect" href="xquery.html">Saxon</a> for <a shape="rect" href="xpath.html">XPath</a> expressions with a <a shape="rect" href="splitter.html">Splitter</a> and <a shape="rect" href="content-based-router.html">Content Based Router</a> in the same route.</li><li>Fixed issue with thread safety of the <code>XPathFactory</code> in the <a shape="rect" href="xpath.html">XPath</a> builder</li><li>Fixed issue when stopping <a shape="rect" href="batch-consumer.html">Batch Consumer</a> routes and have configured route with <code>Complet
 eAllTask</code>, there may be a slim chance the route will be shutdown too early before the last batch message had a chance to be enlisted as in flight exchange.</li><li>Fixed issue with <a shape="rect" href="ftp2.html">FTP</a> consumers to always process synchronous, to ensure the UnitOfWork executes the done tasks in the same thread as the consumer, as the FTP libraries is not thread safe.</li><li>Fixed memory leak when doing request/reply over JMS with a fixed reply queue, when under high load.</li><li>Fixed issue with <a shape="rect" href="bindy.html">Bindy</a> in CSV mode not handling separator char to be inside a quoted field. For example a comma, in "Wednesday, November 9th, 2011"</li><li>Fixed issue when restarting <a shape="rect" href="camelcontext.html">CamelContext</a> would lose any prior custom <code>LifecycleStrategy</code> in use.</li><li>Fixed issue with using the same <a shape="rect" href="scheduledroutepolicy.html">ScheduledRoutePolicy</a> on 2+ routes not working 
 on all the of the routes.</li><li>Fixed issue that <a shape="rect" href="seda.html">seda</a> <a shape="rect" href="vm.html">vm</a> consumer doesn't reset the camel context of exchange when it pulls the exchange from queue.</li><li>Fixed issue when using context scoped <a shape="rect" href="exception-clause.html">Exception Clause</a> to handle exceptions, by which the <code>RouteScope</code> on the <code>UnitOfWork</code> from the <code>Exchange</code> may not refer to last used route id.</li><li>Fixed <a shape="rect" href="throttler.html">Throttler</a> EIP in async delayed mode to not eat up memory when messages flow in faster, than the throttler can process the delayed tasks. The throttler will now use the <code>maxQueueSize</code> option from the <a shape="rect" href="threading-model.html">Threading Model</a> to reject tasks if the task queue grows to big.</li><li>Fixed issue with <a shape="rect" href="throttler.html">Throttler</a> and <a shape="rect" href="delayer.html">Delayer</
 a> EIP in async delayed mode, would cause a 2nd done on the <code>AsyncCallback</code> which could lead to a NPE in the logs.</li></ul>
-
-
-<h3 id="Camel2.9.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3>
-
-<h3 id="Camel2.9.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3>
-
-<ul><li><a shape="rect" href="aws-sdb.html">AWS-SDB</a></li><li><a shape="rect" href="aws-ses.html">AWS-SES</a></li><li><a shape="rect" href="jclouds.html">jclouds</a></li><li><a shape="rect" href="krati.html">Krati</a></li><li><a shape="rect" href="solr.html">Solr</a></li><li><a shape="rect" href="stax.html">StAX</a></li><li><a shape="rect" href="zookeeper.html">Zookeeper</a></li></ul>
-
-
-<h3 id="Camel2.9.0Release-DSLChanges">DSL Changes</h3>
-
-<h3 id="Camel2.9.0Release-NewAnnotations">New Annotations</h3>
-
-<ul><li>Added some JMX annotations in org.apache.camel.spi.management that replace the spring jmx annotations to make camel-core independent of spring</li></ul>
-
-
-<h3 id="Camel2.9.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3>
-
-<ul><li><a shape="rect" href="crypto.html">PGP</a></li></ul>
-
-
-<h3 id="Camel2.9.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3>
-
-<h3 id="Camel2.9.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3>
-
-<h3 id="Camel2.9.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3>
-
-<h2 id="Camel2.9.0Release-APIbreaking">API breaking</h2>
-
-<p>We did some fairly large refactoring in preparation for camel 3.0. In Camel 2.9.0 most changes should be compatible. If you hit any problematic API changes please report in jira and we will try to add compatibility stubs in a 2.9.x release.<br clear="none">
-The main goal of this refactoring is to prepare for a self contained minimal API that can be used as a basis for component development.<br clear="none">
-We already did some changes in regard to this in 2.9.0 to make backporting 3.0 features easier once we start with camel 3.0.</p>
-
-<ul><li>The class <code>ExecutorServiceStrategy</code> is deprecated in favor of a new <code>ExecutorServiceManager</code> class, which have a slightly reduced and improved API. See <a shape="rect" href="threading-model.html">Threading Model</a> for more details.</li><li>The <code>org.apache.camel.component.ResourceBasedComponent</code> class from <code>camel-spring</code> has been deprecated. Use <code>DefaultComponent</code> instead.</li><li>The <code>org.apache.camel.component.ResourceBasedEndpoint</code> class from <code>camel-spring</code> has been deprecated in favor of a new <code>org.apache.camel.component.ResourceEndpoint</code> in <code>camel-core</code>, and its dependency on Spring JARs has been removed. Use the new APIs on <code>ResourceEndpoint</code> to load resources.</li><li>Changed the method <code>beforePoll</code> slightly in the <code>org.apache.camel.PollingConsumerPollingStrategy</code> class.</li><li><code>ServiceSupport</code> and <code>EventNotifierSupport<
 /code> classes are moved to org.apache.camel.support. This package is meant for mostly abstract base classes that make it easier to implement the API. To keep compatibility the old classes are kept as @Deprecated versions (see <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-4358">CAMEL-4358</a>)</li><li><code>ServiceSupport</code> now does no handle child services anymore (was used only in two places in <code>camel-core</code>). A new class <code>ChildServiceSupport</code> now handles this case. Additionally the <code>org.apache.camel.StatefulService</code> interface was created which allows to access <code>ServiceSupport</code> methods without knowing the implementation.</li><li><code>DataFormatResolver</code> does not support <code>resolveDataFormatDefinition</code> anymore. The current implementations for OSGi and Default where exactly the same so this code was moved to <code>DefaultCamelContext</code>. If this is needed please open a jira 
 issue</li><li>All methods in CamelContext that reference model elements where deprecated. An additional interface <code>org.apache.camel.model.ModelCamelContext</code> was created to hold these methods</li><li><code>Ordered</code> interface was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel</code></li><li><code>BytesSource</code> and <code>StringSource</code> were moved from <code>org.apache.camel.converter.jaxp</code> to <code>org.apache.camel</code> as they are used in several places</li><li><code>TimeoutMap</code> interface was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel</code></li><li><code>DefaultTimeoutMap</code> was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel.support</code> as it needs access to <code>ServiceSupport</code></li><li>Moved some management interfaces from <code>org.apache.camel.management</code> to <code>org.apache.camel.spi.management</code></li><li>Moved <code>DefaultChannel</code>
  from <code>org.apache.camel.processor</code> to <code>org.apache.camel.processor.interceptor</code></li><li><code>FileUtil.removeFile</code> added new option, and will throw <code>IOException</code> in case of exception occurred</li><li>The <code>CamelTestSupport</code>'s context, template, consumer fields is no longer static (reason for changing is to foster faster unit testing)</li><li>Added <code>onRemove</code>, <code>onStart</code>, <code>onStop</code>, <code>onSuspend</code>, and <code>onResume</code> methods to <code>org.apache.camel.spi.RoutePolicy</code></li><li>Removed Spring related methods from <code>ScriptBuilder</code> in <code>camel-script</code></li><li>Added <code>RouteContext</code> as parameter to <code>configure</code> method on <code>ErrorHandlerBuilder</code></li><li>The <a shape="rect" href="mail.html">Mail</a> component no longer uses Spring API, which means any custom <code>JavaMailSender</code> should now implement <code>org.apache.camel.component.mail.Jav
 aMailSender</code> instead.</li><li>The <a shape="rect" href="quickfix.html">QuickFix</a> component no longer uses Spring API, which mean if you use XML DSL to setup QuickFix settings, then you need to adjust accordingly. See details <a shape="rect" href="quickfix.html">QuickFix</a>.</li></ul>
-
-
-<h2 id="Camel2.9.0Release-Internal/NonAPIrefactoringsthatmayaffectusers">Internal/Non API refactorings that may affect users</h2>
-<ul><li><code>org.apache.camel.WrappedFile</code> interface was introduced as abstraction of <code>GenericFile</code> for usage outside the file component</li><li><code>ModelHelper</code> was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel.model</code> to avoid references from util to model</li><li>The <a shape="rect" href="karaf.html">Karaf</a> commands have been renamed</li></ul>
-
-
-<h2 id="Camel2.9.0Release-KnownIssues">Known Issues</h2>
-
-<ul><li>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.</li><li>The project cannot fully build the site using Maven (eg running <code>"mvn site"</code>. There is no plan to make this work as the project do not use the maven site.</li><li>The source code cannot fully build with JDK 7</li></ul>
-
-
-<h2 id="Camel2.9.0Release-DependencyUpgrades">Dependency Upgrades</h2>
-
-<ul><li>AHC 1.6.4 to 1.6.5</li><li>AWS-Java-SDK 1.1.1 to 1.2.12</li><li>CometD Java Server 2.1.1 to 2.3.1</li><li>Commons-pool 1.5.4 to 1.5.6</li><li>CXF 2.4.1 to 2.5.1</li><li>Dozer 5.3.1 to 5.3.2</li><li>EasyMock 2.5.2 to 3.0</li><li>EHCache 2.3.0 to 2.4.3</li><li>Groovy 1.8.0 to 1.8.5</li><li>HAPI 0.5.1 to 1.2</li><li>HawtDB 1.5 to 1.6</li><li>Hazelcast 1.9.3 to 1.9.4.4</li><li>Http4 4.1.1 to 4.1.2</li><li>Jackson 1.8.4 to 1.9.2</li><li>Jackrabbit 1.5.5 to 2.2.4</li><li>JCR API 1.0 to 2.0</li><li>Jersey 1.8 to 1.10</li><li>JIBX 1.2.2 to 1.2.3</li><li>JRuby 1.5.6 to 1.6.5</li><li>MyBatis 3.0.4 to 3.0.6</li><li>Netty 3.2.4 to 3.2.6</li><li>OGNL 2.7.3 to 3.0.2</li><li>QPID 0.5 to 0.12</li><li>QuickFix 1.5.0 to 1.5.1</li><li>Restlet 2.0.9 to 2.0.10</li><li>Scala 2.9.0 to 2.9.1</li><li>Scalate 1.5.0 to 1.5.3</li><li>Smack 3.1.0 to 3.2.0</li><li>Spring Framework 3.0.5 to 3.0.6</li><li>Spring Security 3.0.6 to 3.0.7</li><li>Spring WebService 2.0.2 to 2.0.3</li><li>XStream 1.3.1 to 1.4.1
 </li></ul>
-
-
-<h2 id="Camel2.9.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2>
-
-<ul><li>The <a shape="rect" href="xslt.html">XSLT</a>, and <a shape="rect" href="validation.html">Validation</a> components has been moved from <code>camel-spring</code> to <code>camel-core</code> as they no longer depend upon Spring JARs</li><li>Building the source with Apache Maven 2.x is <strong>deprecated</strong> and support for that is to be removed in the next release.</li><li><a shape="rect" href="debugger.html">Debugger</a> is now disabled by default in <a shape="rect" href="camel-test.html">Camel Test</a>. You would need to override <code>isUseDebugger()</code> method and return <code>true</code> to enable it.</li><li><a shape="rect" href="simple.html">Simple</a> language improved syntax parser. <a shape="rect" href="simple.html">Simple</a> is now more strict and will report syntax errors for invalid input. For example <a shape="rect" href="predicate.html">Predicate</a>s now requires literal texts to be enclosed in quotes, just as any programming language such as Java woul
 d do. Range operator also requires the range to be enclosed in quotes as well. See more details at <a shape="rect" href="simple.html">Simple</a>.</li><li>The <a shape="rect" href="jpa.html">JPA</a> component has been upgraded from using the JPA1 spec to use JPA2 spec.</li><li>The <a shape="rect" href="csv.html">CSV</a> component now always returns a <code>List&lt;List&gt;</code> regardless if 1 or more rows returned, to be consistent.</li></ul>
-
-
-<h2 id="Camel2.9.0Release-Notice">Notice</h2>
-
-<ul><li>Removed ANT support for the <a shape="rect" href="examples.html">Examples</a></li><li>The <code>commons-management</code> JAR is no longer required as dependency.</li><li>Camel no longer depend on using Spring JARs for having Camel enlisted in <a shape="rect" href="camel-jmx.html">JMX</a>.</li><li>Building the source with Apache Maven 2.x is <strong>deprecated</strong> and support for that is to be removed in the next release.</li><li>If you want to deploy Apache Camel 2.9.0 into Apache Karaf, we highly recommend to use the 'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5.</li></ul>
-
-
-<h2 id="Camel2.9.0Release-GettingtheDistributions">Getting the Distributions</h2>
-
-<h3 id="Camel2.9.0Release-BinaryDistributions">Binary Distributions</h3>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Download Link </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> PGP Signature file of download </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Windows Distribution </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.9.0/apache-camel-2.9.0.zip">apache-camel-2.9.0.zip</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.9.0/apache-camel-2.9.0.zip.asc">apache-camel-2.9.0.zip.asc</a> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Unix/Linux/Cygwin Distribution </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a sh
 ape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.9.0/apache-camel-2.9.0.tar.gz">apache-camel-2.9.0.tar.gz</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.9.0/apache-camel-2.9.0.tar.gz.asc">apache-camel-2.9.0.tar.gz.asc</a> </p></td></tr></tbody></table></div>
-
-    <div class="aui-message hint shadowed information-macro">
+<div class="wiki-content maincontent"><h1 id="Camel2.9.0Release-Camel2.9.0release">Camel 2.9.0 release</h1><div style="padding-right:20px;float:left;margin-left:-20px;">
+<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div><div style="min-height:200px"></div><h2 id="Camel2.9.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.9.0 release which approx 497 issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Introduced <code>ThreadPoolFactory</code> with a simpler API for 3rd party SPI. See <a shape="rect" href="threading-model.html">Threading Model</a> for more details.</li><li>The <code>ScheduledExecutorService</code> created by Camel is guarded with a queue size check, to guard against OOME due the JDK thread pool is unbounded task queue.</li><li>The <a shape="rect" href="soap.html">SOAP</a> data format now supports using multiple parameters on the JAXB objects.</li><li>The <a shape="rect" href="bean.html">Bean</a> component now supports specifying parameter values to use directly in the method s
 yntax. See more details at <a shape="rect" href="bean-binding.html">Bean Binding</a>. For example to invoke a bean with body as first parameter, and a boolean true as second you can now do: <code>.to("bean:myBean?method=myMethod(body, true)")</code></li><li>The <a shape="rect" href="bean.html">Bean</a> component supports binding to private class beans by fallback to use interface methods.</li><li>Improved labels of all model definitions which appear in <a shape="rect" href="tracer.html">Tracer</a> output</li><li>Reduced dependency for <code>camel-core</code> to not require <code>commons-management</code> JAR anymore</li><li>Added blueprint support of cxfrs endpoint.</li><li>Camel no longer depend on using Spring JARs for having Camel enlisted in <a shape="rect" href="camel-jmx.html">JMX</a>.</li><li>Introduced a set of Camel JMX annotations in <code>org.apache.camel.api.management</code> that can be used to easily instrument Camel <a shape="rect" href="components.html">Components</a
 >, <a shape="rect" href="eip.html">EIP</a>s, custom <a shape="rect" href="processor.html">Processor</a>s, <a shape="rect" href="bean.html">Bean</a>s etc. for being managed in <a shape="rect" href="camel-jmx.html">JMX</a>. Using the Spring JMX annotations is still supported (you would need <code>camel-spring</code> on the classpath).</li><li>Updated the <a shape="rect" href="aggregator2.html">Aggregator2</a> to allow for manually completing all exchange groups by sending a message containing the header <code>Exchange.AGGREGATION_COMPLETE_ALL_GROUPS</code> set to true.</li><li>Updated the <a shape="rect" href="aggregator2.html">Aggregator2</a> to support forceCompletionOnStop option to complete all current aggregated exchanges when the context is stopped.</li><li>Removed dependency on Spring JARs in the following components: <a shape="rect" href="validation.html">Validation</a>, <a shape="rect" href="xslt.html">XSLT</a>, <a shape="rect" href="velocity.html">Velocity</a>, <a shape="rec
 t" href="freemarker.html">FreeMarker</a>, <a shape="rect" href="flatpack.html">Flatpack</a>, <a shape="rect" href="stringtemplate.html">StringTemplate</a>, <a shape="rect" href="ibatis.html">iBATIS</a>, <a shape="rect" href="jing.html">Jing</a>, <a shape="rect" href="msv.html">MSV</a>, <a shape="rect" href="xquery.html">XQuery</a>, <a shape="rect" href="test.html">Test</a>, <a shape="rect" href="groovy.html">Groovy</a>, <a shape="rect" href="scripting-languages.html">Scripting Languages</a>, <a shape="rect" href="mail.html">Mail</a> and <a shape="rect" href="quickfix.html">Quickfix</a>.</li><li>Using <a shape="rect" href="content-enricher.html">pollEnrich</a> with a file/ftp endpoint will now only poll on demand, beforehand the polling could be started when the route started.</li><li>Added option <code>ReplyToType</code> on <a shape="rect" href="jms.html">JMS</a> to allow people to control which kind of reply queue they are using (temporary, shared, exclusive). Added support for exc
 lusive reply queues. Mind they have some limitations, by which the shared dont have. So use exclusive with a bit caution.</li><li>Added <code>wereSentTo</code> to <a shape="rect" href="notifybuilder.html">NotifyBuilder</a> allowing to set expectation that <a shape="rect" href="exchange.html">Exchange</a>s was sent to the given endpoint uri.</li><li><a shape="rect" href="bindy.html">Bindy</a> in CSV format now uses trim, clip, and length attributes on @DataField when marshalling.</li><li>Improved managed browsable endpoints (JMX) so you can browse all/range messages and whether to include message body or not.</li><li><a shape="rect" href="file2.html">File</a> and <a shape="rect" href="ftp2.html">FTP</a> endpoints is now browsable endpoints. For example using JMX people can browse the endpoint listing available files. The returned data does <strong>not</strong> contain the actual file body to avoid loading big data into memory.</li><li>Added <code>replaceFromWith</code> to <a shape="r
 ect" href="advicewith.html">AdviceWith</a> making it easy to swap a route input endpoint with something else, for easier unit testing.</li><li>Added Java DSL support for route autoStartup(String) and autoStartup(boolean)</li><li>Switched to a better performing non locking endpoint cache based on Google's ConcurrentLinkedHashMap.</li><li>Added <code>isUseAdviceWith</code> to <a shape="rect" href="camel-test.html">Camel Test</a> which allows end users to tell Camel that the unit tests uses <a shape="rect" href="advicewith.html">AdviceWith</a> which allows you to defer starting <a shape="rect" href="camelcontext.html">CamelContext</a> until after the adviceWith has been executed.</li><li>Added <code>filtersRef</code> option to <a shape="rect" href="jetty.html">Jetty</a> endpoint, and it supports to setup the Filters on the Jetty endpoints.</li><li>Added <code>ciphers</code> option to the <a shape="rect" href="ftp2.html">SFTP</a> endpoint to allow configuration of the ciphers used by de
 fault.</li><li>Added <code>fastExitsCheck</code> option to the <a shape="rect" href="ftp2.html">SFTP FTP</a> endpoint to check the file exits fast.</li><li>Added <code>errorHandler</code> option to the <a shape="rect" href="jms.html">JMS</a> component which allows you to set a <code>org.springframework.util.ErrorHandler</code> to be invoked in case of any uncaught exceptions thrown while processing a <code>Message</code>.</li><li>Added <code>idleConsumerLimit</code> option to the <a shape="rect" href="jms.html">JMS</a> component which sets the limit for the number of consumers that are allowed to be idle at any given time.</li><li><a shape="rect" href="simple.html">Simple</a> language has a much better syntax parser, being able to report what and where syntax errors are. Added unary operators, which for example can be used to increment counters.</li><li><a shape="rect" href="simple.html">Simple</a> language now supports nested functions, so you can do "${header.${header.bar}}", for 
 example to refer to a header key from another header.</li><li><a shape="rect" href="simple.html">Simple</a> language can now configure custom start/end tokens for its built-in functions.</li><li>The <a shape="rect" href="jpa.html">JPA</a> component has been upgraded from using the JPA1 spec to use JPA2 spec.</li><li>The <a shape="rect" href="csv.html">CSV</a> component now always returns a List&lt;List&gt; regardless if 1 or more rows returned, to be consistent.</li><li><a shape="rect" href="resequencer.html">Resequencer</a> now pre validates incoming <a shape="rect" href="exchange.html">Exchange</a> and throws <code>CamelExchangeException</code> if invalid. Added new option <code>ignoreInvalidExchanges</code> to suppress the exception and ignore invalid exchanges.</li><li>Improved existing and added more <a shape="rect" href="karaf.html">Karaf</a> Camel commands.</li><li>Improved <a shape="rect" href="bean.html">Bean</a> component and method call expressions to be able to invoke st
 atic methods, without creating a new instance of the class.</li><li><a shape="rect" href="camel-jmx.html">JMX</a> now exposes average load statics on CamelContext and Route mbeans. Its similar to unix load stats per 1, 5 and 15 minutes.</li><li>Added support for <code>minDepth</code> and <code>maxDepth</code> option on the <a shape="rect" href="ftp2.html">FTP</a> consumers.</li><li>Improved the <a shape="rect" href="aws-s3.html">AWS-S3</a> component to support more headers in the producer.</li><li><a shape="rect" href="cometd.html">Cometd</a> now includes headers in the server message.</li><li><a shape="rect" href="ftp2.html">SFTP</a> now supports interactive keyboard authentication, but entering the password in the prompt.</li><li>ManagedTracer now supports detailed JMX TraceEvent Notifications. This allows to watch message flows using JConsole and provides an ideal base for external tooling</li><li>Exchange.HTTP_URI query part will take effect on the producer of <a shape="rect" hr
 ef="http.html">HTTP</a> and <a shape="rect" href="http4.html">HTTP4</a>.</li><li>Add <code>camelContextId</code> to <a shape="rect" href="mdc-logging.html">MDC logging</a>.</li><li>Hadoop consumer supports auto merging multiple segment files.</li><li><a shape="rect" href="jms.html">JMS</a> consumer has new option <code>asyncConsumer</code> which allows to enable <a shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing Engine</a></li><li>The <a shape="rect" href="camel-maven-archetypes.html">camel-archetype-component</a> allows to specify the component name.</li><li><a shape="rect" href="polling-consumer.html">Polling Consumer</a>s such as <a shape="rect" href="file2.html">File</a> or <a shape="rect" href="ftp2.html">FTP</a> supports new option <code>sendEmptyMessageWhenIdle</code> to send an empty message if there was no messages to poll.</li><li>Added option <code>allowStAX</code> on <a shape="rect" href="xslt.html">XSLT</a> and <a shape="rect" href="xquery.html
 ">XQuery</a> to control whether StAX (Streaming API for XML) is preferred as the <code>javax.xml.transform.Source</code>.</li><li>Added <code>properties</code> function to <a shape="rect" href="scripting-languages.html">Scripting Languages</a> to make it easier to leverage Camel <a shape="rect" href="properties.html">Properties</a> component from scripts.</li><li>Added <code>timeoutCheckerExecutorService</code> and <code>timeoutCheckerExecutorServiceRef</code> options to the aggregator. If using either of the <code>completionTimeout</code>, <code>completionTimeoutExpression</code>, or <code>completionInterval</code> options a background thread is created to check for the completion for every aggregator. This doesn't scale well when you have many routes with an aggregator (a thread is created for every aggregator). Setting these options allow you to control the number of threads by providing a custom thread pool.</li><li><a shape="rect" href="splitter.html">Splitting</a> big files su
 ch as XML files can now be done in a streamed low-memory footprint mode using the <a shape="rect" href="tokenizer.html">Tokenizer</a> language or the <a shape="rect" href="stax.html">StAX</a> component.</li><li>The <a shape="rect" href="language.html">Language</a> component can now load scripts from classpath or file system. As well having a cached option.</li><li>Further improved masking of passwords in URIs specified in the user info part, in the Camel logs.</li><li>Optimized <a shape="rect" href="request-reply.html">Request Reply</a> over <a shape="rect" href="jms.html">JMS</a> when using named replyTo queues to cache consumer if possible, making it go faster. This applies when using either the <code>replytToType=Exclusive</code> or <code>replyToDestinationSelectorName</code> options.</li><li>Fixed <a shape="rect" href="jpa.html">JPA</a> consumer to ensure to rollback if processing an <a shape="rect" href="exchange.html">Exchange</a> failed.</li><li>Added <code>quote</code> optio
 n to <code>@CsvRecord</code> in <a shape="rect" href="bindy.html">Bindy</a> to make it easy to specify using a quote character when marshalling from Object to CSV format.</li><li>Added <code>consumer.transacted</code> option to <a shape="rect" href="jpa.html">JPA</a> to control whether the consumer should regard the batch as a single encompassing transaction or not.</li><li>Added ability in <a shape="rect" href="xslt.html">XSLT</a> component to dynamically override stylesheet used via <code>CamelXsltResourceUri</code> message header.</li><li>Added ability in <a shape="rect" href="aws-sns.html">AWS-SNS</a> component to specify the topic policy.</li><li>Added ability in <a shape="rect" href="aws-s3.html">AWS-S3</a> component to specify the bucket policy and the storage class.</li><li><a shape="rect" href="log.html">Log</a> component and <a shape="rect" href="logeip.html">LogEIP</a> now supports the <a shape="rect" class="external-link" href="http://www.slf4j.org/api/org/slf4j/Marker.h
 tml" rel="nofollow">Marker</a> option</li><li><a shape="rect" href="log.html">Log</a> and <a shape="rect" href="tracer.html">Tracer</a> now have a default <code>maxChars</code> option at <code>10000</code> to avoid logging very big data.</li><li>Added ability in <a shape="rect" href="sql-component.html">SQL</a> to execute SQL batch statements.</li><li>Added the configuration support of queueSize and concurrentConsumers options on the <a shape="rect" href="seda.html">SEDA</a> <a shape="rect" href="vm.html">VM</a> component.</li><li>Added MBean interfaces in <code>org.apache.camel.api.management.mbean</code> which clients can use to access Camel MBeans.* Added MBean interfaces in <code>org.apache.camel.api.management.mbean</code> which clients can use to access Camel MBeans.</li><li>Introduced <code>AbstractJdbcMessageIdRepository</code> in <a shape="rect" href="sql-component.html">SQL Component</a> to make it easier to create custom JDBC based <a shape="rect" href="idempotent-consume
 r.html">Idempotent Consumer</a></li></ul><h3 id="Camel2.9.0Release-Fixedissues">Fixed issues</h3><ul><li>Fixed issue with <a shape="rect" href="properties.html">Properties</a> component may cache duplicates and thus take up unnecessary memory in the cache</li><li>Fixed issue with <a shape="rect" href="tracer.html">Tracer</a> out exchanges when using <a shape="rect" href="asynchronous-processing.html">Asynchronous Processing</a> by the <a shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing Engine</a></li><li>Fixed issue with <a shape="rect" href="component.html">Component</a>s or <a shape="rect" href="endpoint.html">Endpoint</a>s not being registered in <a shape="rect" href="camel-jmx.html">JMX</a> when using <a shape="rect" href="pojo-producing.html">POJO Producing</a>, <a shape="rect" href="pojo-consuming.html">POJO Consuming</a> or other Camel bean annotations.</li><li>Fixed issue which could cause <code>DefaultUnitOfWork</code> to throw a <code>java.util.Emp
 tyStackException</code> under heavy load</li><li>Fixed issue with <a shape="rect" href="mdc-logging.html">MDC logging</a> not remembering old values, for example when using a <code>ProducerTemplate</code> from within routes to send new messages.</li><li>Fixed issue when invoking a <a shape="rect" href="bean.html">Bean</a> and that bean is using a <code>@Bean</code> in its method signature, causing the <code>@Bean</code> to not invoke its intended method</li><li>Fixed issue with <a shape="rect" href="bindy.html">Bindy</a> unmarshalling in key value or CSV or mode, may cause inconsistency for multiple threaded unmarshalling</li><li>Fixed issue with <code>ExchangeSentEvent</code> being fired to early when being sent to <a shape="rect" href="asynchronous-routing-engine.html">asynchronously</a> endpoint. Now its being fired when sent is done.</li><li>Fixed issue with <a shape="rect" href="using-osgi-blueprint-with-camel.html">OSGi Blueprint</a> when consuming <a shape="rect" href="jaxb.h
 tml">JAXB</a> annotated objects from <a shape="rect" href="activemq.html">ActiveMQ</a> causing ClassCastException's.</li><li>Fixed issue with using <code>OnException</code> and using <code>redeliveryPolicyRef</code> which could cause the <a shape="rect" href="error-handler.html">Error Handler</a> to fail with an assertion error at first redelivery attempt.</li><li>Fixed issue with using <code>doneFile</code> option on <a shape="rect" href="ftp2.html">FTP</a> when from a Windows computer connecting to a Unix FTP server, due to wrong path separator in use.</li><li>Fixed issue with <a shape="rect" href="bindy.html">Bindy</a> in CSV mode when marshalling not using correct separator char if given an escaped separator char on the model class.</li><li>Fixed issue with evaluation of <a shape="rect" href="simple.html">Simple</a> language not being as fast as it could be.</li><li>Fixed issue with <a shape="rect" href="file2.html">File</a> consumer not auto creating start dir if having dot in 
 name.</li><li>Fixed issue with <a shape="rect" href="splitter.html">Splitter</a>, <a shape="rect" href="recipient-list.html">Recipient List</a> and <a shape="rect" href="routing-slip.html">Routing Slip</a> throwing exceptions from custom expressions, not being triggered by <a shape="rect" href="exception-clause.html">Exception Clause</a>s.</li><li>Fixed issue with stale OUT message set on <a shape="rect" href="exchange.html">Exchange</a> if exception was thrown from <code>unmarshal</code> or <code>marshal</code> operations from <a shape="rect" href="data-format.html">Data Format</a></li><li>Fixed issue with request/reply over <a shape="rect" href="jms.html">JMS</a> when using <code>useMessageIDAsCorrelationID=true</code> and fixed reply queues, causing JMSMessage selector to not evict timed out correlationIDs, which cause the JMSMessage selector to keep growing.</li><li>Fixed issue with <a shape="rect" href="xslt.html">XSLT</a>, <a shape="rect" href="xquery.html">XQuery</a> and <a s
 hape="rect" href="xpath.html">XPath</a> may lock file resource if exception occurred during transformation</li><li>Fixed issue with <a shape="rect" href="flatpack.html">Flatpack</a> dropping all headers from the original message</li><li>Fixed issue with <code>wereSentTo</code> on <a shape="rect" href="notifybuilder.html">NotifyBuilder</a> may trigger to soon, as well you no longer must configured it at first</li><li>Fixed issue with <a shape="rect" href="smpp.html">SMPP</a> by sending multipart and multilingual messages</li><li>Fixed issue with using <a shape="rect" href="xquery.html">Saxon</a> for <a shape="rect" href="xpath.html">XPath</a> expressions with a <a shape="rect" href="splitter.html">Splitter</a> and <a shape="rect" href="content-based-router.html">Content Based Router</a> in the same route.</li><li>Fixed issue with thread safety of the <code>XPathFactory</code> in the <a shape="rect" href="xpath.html">XPath</a> builder</li><li>Fixed issue when stopping <a shape="rect" 
 href="batch-consumer.html">Batch Consumer</a> routes and have configured route with <code>CompleteAllTask</code>, there may be a slim chance the route will be shutdown too early before the last batch message had a chance to be enlisted as in flight exchange.</li><li>Fixed issue with <a shape="rect" href="ftp2.html">FTP</a> consumers to always process synchronous, to ensure the UnitOfWork executes the done tasks in the same thread as the consumer, as the FTP libraries is not thread safe.</li><li>Fixed memory leak when doing request/reply over JMS with a fixed reply queue, when under high load.</li><li>Fixed issue with <a shape="rect" href="bindy.html">Bindy</a> in CSV mode not handling separator char to be inside a quoted field. For example a comma, in "Wednesday, November 9th, 2011"</li><li>Fixed issue when restarting <a shape="rect" href="camelcontext.html">CamelContext</a> would lose any prior custom <code>LifecycleStrategy</code> in use.</li><li>Fixed issue with using the same <a
  shape="rect" href="scheduledroutepolicy.html">ScheduledRoutePolicy</a> on 2+ routes not working on all the of the routes.</li><li>Fixed issue that <a shape="rect" href="seda.html">SEDA</a> <a shape="rect" href="vm.html">VM</a> consumer doesn't reset the camel context of exchange when it pulls the exchange from queue.</li><li>Fixed issue when using context scoped <a shape="rect" href="exception-clause.html">Exception Clause</a> to handle exceptions, by which the <code>RouteScope</code> on the <code>UnitOfWork</code> from the <code>Exchange</code> may not refer to last used route id.</li><li>Fixed <a shape="rect" href="throttler.html">Throttler</a> EIP in async delayed mode to not eat up memory when messages flow in faster, than the throttler can process the delayed tasks. The throttler will now use the <code>maxQueueSize</code> option from the <a shape="rect" href="threading-model.html">Threading Model</a> to reject tasks if the task queue grows to big.</li><li>Fixed issue with <a s
 hape="rect" href="throttler.html">Throttler</a> and <a shape="rect" href="delayer.html">Delayer</a> EIP in async delayed mode, would cause a 2nd done on the <code>AsyncCallback</code> which could lead to a NPE in the logs.</li></ul><h3 id="Camel2.9.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.9.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li><a shape="rect" href="aws-sdb.html">AWS-SDB</a></li><li><a shape="rect" href="aws-ses.html">AWS-SES</a></li><li><a shape="rect" href="jclouds.html">jclouds</a></li><li><a shape="rect" href="krati.html">Krati</a></li><li><a shape="rect" href="solr.html">Solr</a></li><li><a shape="rect" href="stax.html">StAX</a></li><li><a shape="rect" href="zookeeper.html">Zookeeper</a></li></ul><h3 id="Camel2.9.0Release-DSLChanges">DSL Changes</h3><h3 id="Camel2.9.0Release-NewAnnotations">New Annotations</h3><ul><li>Added some JMX annotat
 ions in org.apache.camel.spi.management that replace the spring jmx annotations to make camel-core independent of spring</li></ul><h3 id="Camel2.9.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" href="crypto.html">PGP</a></li></ul><h3 id="Camel2.9.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.9.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.9.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.9.0Release-APIbreaking">API breaking</h2><p>We did some fairly large refactoring in preparation for camel 3.0. In Camel 2.9.0 most changes should be compatible. If you hit any problematic API changes please report in jira and we will try to add compatibility stubs in a 2.9.x release.<br clear="none"> The main goal of this refactoring is to prepare for a self contained minimal API that can be used as a bas
 is for component development.<br clear="none"> We already did some changes in regard to this in 2.9.0 to make backporting 3.0 features easier once we start with camel 3.0.</p><ul><li>The class <code>ExecutorServiceStrategy</code> is deprecated in favor of a new <code>ExecutorServiceManager</code> class, which have a slightly reduced and improved API. See <a shape="rect" href="threading-model.html">Threading Model</a> for more details.</li><li>The <code>org.apache.camel.component.ResourceBasedComponent</code> class from <code>camel-spring</code> has been deprecated. Use <code>DefaultComponent</code> instead.</li><li>The <code>org.apache.camel.component.ResourceBasedEndpoint</code> class from <code>camel-spring</code> has been deprecated in favor of a new <code>org.apache.camel.component.ResourceEndpoint</code> in <code>camel-core</code>, and its dependency on Spring JARs has been removed. Use the new APIs on <code>ResourceEndpoint</code> to load resources.</li><li>Changed the method 
 <code>beforePoll</code> slightly in the <code>org.apache.camel.PollingConsumerPollingStrategy</code> class.</li><li><code>ServiceSupport</code> and <code>EventNotifierSupport</code> classes are moved to org.apache.camel.support. This package is meant for mostly abstract base classes that make it easier to implement the API. To keep compatibility the old classes are kept as @Deprecated versions (see <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-4358">CAMEL-4358</a>)</li><li><code>ServiceSupport</code> now does no handle child services anymore (was used only in two places in <code>camel-core</code>). A new class <code>ChildServiceSupport</code> now handles this case. Additionally the <code>org.apache.camel.StatefulService</code> interface was created which allows to access <code>ServiceSupport</code> methods without knowing the implementation.</li><li><code>DataFormatResolver</code> does not support <code>resolveDataFormatDefinition</code> any
 more. The current implementations for OSGi and Default where exactly the same so this code was moved to <code>DefaultCamelContext</code>. If this is needed please open a jira issue</li><li>All methods in CamelContext that reference model elements where deprecated. An additional interface <code>org.apache.camel.model.ModelCamelContext</code> was created to hold these methods</li><li><code>Ordered</code> interface was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel</code></li><li><code>BytesSource</code> and <code>StringSource</code> were moved from <code>org.apache.camel.converter.jaxp</code> to <code>org.apache.camel</code> as they are used in several places</li><li><code>TimeoutMap</code> interface was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel</code></li><li><code>DefaultTimeoutMap</code> was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel.support</code> as it needs access to <code>ServiceSupport</code></
 li><li>Moved some management interfaces from <code>org.apache.camel.management</code> to <code>org.apache.camel.spi.management</code></li><li>Moved <code>DefaultChannel</code> from <code>org.apache.camel.processor</code> to <code>org.apache.camel.processor.interceptor</code></li><li><code>FileUtil.removeFile</code> added new option, and will throw <code>IOException</code> in case of exception occurred</li><li>The <code>CamelTestSupport</code>'s context, template, consumer fields is no longer static (reason for changing is to foster faster unit testing)</li><li>Added <code>onRemove</code>, <code>onStart</code>, <code>onStop</code>, <code>onSuspend</code>, and <code>onResume</code> methods to <code>org.apache.camel.spi.RoutePolicy</code></li><li>Removed Spring related methods from <code>ScriptBuilder</code> in <code>camel-script</code></li><li>Added <code>RouteContext</code> as parameter to <code>configure</code> method on <code>ErrorHandlerBuilder</code></li><li>The <a shape="rect" h
 ref="mail.html">Mail</a> component no longer uses Spring API, which means any custom <code>JavaMailSender</code> should now implement <code>org.apache.camel.component.mail.JavaMailSender</code> instead.</li><li>The <a shape="rect" href="quickfix.html">Quickfix</a> component no longer uses Spring API, which mean if you use XML DSL to setup QuickFix settings, then you need to adjust accordingly. See details <a shape="rect" href="quickfix.html">Quickfix</a>.</li></ul><h2 id="Camel2.9.0Release-Internal/NonAPIrefactoringsthatmayaffectusers">Internal/Non API refactorings that may affect users</h2><ul><li><code>org.apache.camel.WrappedFile</code> interface was introduced as abstraction of <code>GenericFile</code> for usage outside the file component</li><li><code>ModelHelper</code> was moved from <code>org.apache.camel.util</code> to <code>org.apache.camel.model</code> to avoid references from util to model</li><li>The <a shape="rect" href="karaf.html">Karaf</a> commands have been renamed<
 /li></ul><h2 id="Camel2.9.0Release-KnownIssues">Known Issues</h2><ul><li>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.</li><li>The project cannot fully build the site using Maven (eg running <code>"mvn site"</code>. There is no plan to make this work as the project do not use the maven site.</li><li>The source code cannot fully build with JDK 7</li></ul><h2 id="Camel2.9.0Release-DependencyUpgrades">Dependency Upgrades</h2><ul><li>AHC 1.6.4 to 1.6.5</li><li>AWS-Java-SDK 1.1.1 to 1.2.12</li><li>CometD Java Server 2.1.1 to 2.3.1</li><li>Commons-pool 1.5.4 to 1.5.6</li><li>CXF 2.4.1 to 2.5.1</li><li>Dozer 5.3.1 to 5.3.2</li><li>EasyMock 2.5.2 to 3.0</li><li>EHCache 2.3.0 to 2.4.3</li><li>Groovy 1.8.0 to 1.8.5</li><li>HAPI 0.5.1 to 1.2</li><li>HawtDB 1.5 to 1.6</li><li>Hazelcast 1.9.3 to 1.9.4.4</li><li>Http4 4.1.1 to 4.1.2</li><li>Jackson 1.8.4 to 1.9.2</li><li>
 Jackrabbit 1.5.5 to 2.2.4</li><li>JCR API 1.0 to 2.0</li><li>Jersey 1.8 to 1.10</li><li>JIBX 1.2.2 to 1.2.3</li><li>JRuby 1.5.6 to 1.6.5</li><li>MyBatis 3.0.4 to 3.0.6</li><li>Netty 3.2.4 to 3.2.6</li><li>OGNL 2.7.3 to 3.0.2</li><li>QPID 0.5 to 0.12</li><li>QuickFix 1.5.0 to 1.5.1</li><li>Restlet 2.0.9 to 2.0.10</li><li>Scala 2.9.0 to 2.9.1</li><li>Scalate 1.5.0 to 1.5.3</li><li>Smack 3.1.0 to 3.2.0</li><li>Spring Framework 3.0.5 to 3.0.6</li><li>Spring Security 3.0.6 to 3.0.7</li><li>Spring WebService 2.0.2 to 2.0.3</li><li>XStream 1.3.1 to 1.4.1</li></ul><h2 id="Camel2.9.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>The <a shape="rect" href="xslt.html">XSLT</a>, and <a shape="rect" href="validation.html">Validation</a> components has been moved from <code>camel-spring</code> to <code>camel-core</code> as they no longer depend upon Spring JARs</li><li>Building the source with Apache Maven 2.x is <strong>deprecated</strong
 > and support for that is to be removed in the next release.</li><li><a shape="rect" href="debugger.html">Debugger</a> is now disabled by default in <a shape="rect" href="camel-test.html">Camel Test</a>. You would need to override <code>isUseDebugger()</code> method and return <code>true</code> to enable it.</li><li><a shape="rect" href="simple.html">Simple</a> language improved syntax parser. <a shape="rect" href="simple.html">Simple</a> is now more strict and will report syntax errors for invalid input. For example <a shape="rect" href="predicate.html">Predicate</a>s now requires literal texts to be enclosed in quotes, just as any programming language such as Java would do. Range operator also requires the range to be enclosed in quotes as well. See more details at <a shape="rect" href="simple.html">Simple</a>.</li><li>The <a shape="rect" href="jpa.html">JPA</a> component has been upgraded from using the JPA1 spec to use JPA2 spec.</li><li>The <a shape="rect" href="csv.html">CSV</
 a> component now always returns a <code>List&lt;List&gt;</code> regardless if 1 or more rows returned, to be consistent.</li></ul><h2 id="Camel2.9.0Release-Notice">Notice</h2><ul><li>Removed ANT support for the <a shape="rect" href="examples.html">Examples</a></li><li>The <code>commons-management</code> JAR is no longer required as dependency.</li><li>Camel no longer depend on using Spring JARs for having Camel enlisted in <a shape="rect" href="camel-jmx.html">JMX</a>.</li><li>Building the source with Apache Maven 2.x is <strong>deprecated</strong> and support for that is to be removed in the next release.</li><li>If you want to deploy Apache Camel 2.9.0 into Apache Karaf, we highly recommend to use the 'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5.</li></ul><h2 id="Camel2.9.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.9.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceT
 able"><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.9.0/apache-camel-2.9.0.zip">apache-camel-2.9.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.9.0/apache-camel-2.9.0.zip.asc">apache-camel-2.9.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/d
 ist/camel/apache-camel/2.9.0/apache-camel-2.9.0.tar.gz">apache-camel-2.9.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.9.0/apache-camel-2.9.0.tar.gz.asc">apache-camel-2.9.0.tar.gz.asc</a></p></td></tr></tbody></table></div>    <div class="aui-message hint shadowed information-macro">
                     <p class="title">The above URLs use redirection</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
-                            
-<p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p>
-
+                            <p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p>
                     </div>
     </div>
-
-
-<h3 id="Camel2.9.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 Distribution </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.9.0/apache-camel-2.9.0-src.zip">apache-camel-2.9.0-src.zip</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.9.0/apache-camel-2.9.0-src.zip.asc">apache-camel-2.9.0-src.zip.asc</a> </p></td></tr></tbody></table></div>
-
-
-<h3 id="Camel2.9.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3>
-
-<p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+<h3 id="Camel2.9.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 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.9.0/apache-camel-2.9.0-src.zip">apache-camel-2.9.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.9.0/apache-camel-2.9.0-src.zip.asc">apache-camel-2.9.0-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.9.0Release-GettingtheBinariesusingMaven2">Get
 ting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;
   &lt;version&gt;2.9.0&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="Camel2.9.0Release-SVNTagCheckout">SVN Tag Checkout</h3>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.9.0
+</div></div><h3 id="Camel2.9.0Release-SVNTagCheckout">SVN Tag Checkout</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.9.0
 ]]></script>
-</div></div>
-
-<h2 id="Camel2.9.0Release-Changelog">Changelog</h2>
-
-<p>For a more detailed view of new features and bug fixes, see the:<br clear="none">
-TODO: Update link</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 2.9.0</a></li></ul></div>
+</div></div><h2 id="Camel2.9.0Release-Changelog">Changelog</h2><p>For a more detailed view of new features and bug fixes, see the:<br clear="none"> TODO: Update link</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 2.9.0</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">