Modified: websites/production/camel/content/camel-2100-release.html
==============================================================================
--- websites/production/camel/content/camel-2100-release.html (original)
+++ websites/production/camel/content/camel-2100-release.html Thu Jun 15 
16:25:44 2017
@@ -82,7 +82,7 @@
 <div style="min-height:200px"></div>
 
 
-<h2 id="Camel2.10.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome 
to the 2.10.0 release with approximately 483 issues resolved - including new 
features, improvements, and bug fixes, such as:</p><ul><li>Added support for 
Java 1.7</li><li>Added consumer to <a shape="rect" href="jcr.html">JCR</a> 
component</li><li>Internal code cleanup to reduce warnings reported by 
Eclipse</li><li>Moved <a shape="rect" href="spring-testing.html">Spring 
Testing</a> from <code>camel-test</code> to <code>camel-test-spring</code> 
component.</li><li>Camel <a shape="rect" 
href="using-propertyplaceholder.html">Property Placeholders</a> are now 
supported in embedded <a shape="rect" href="expression.html">Expression</a>s 
within Camel routes.</li><li>Added missing options in the XML DSL for the <a 
shape="rect" href="xpath.html">XPath</a> language to control and set which 
XPath Engine to use, etc.</li><li>Added option <code>logNamespaces</code> to 
the <a shape="rect" href="xpath.html">XPath</a> lang
 uage to have <code>INFO</code> logging of detected namespaces from message. 
This can be used to troubleshoot issues where an <a shape="rect" 
href="xpath.html">XPath</a> expression doesn't work as expected (as it's often 
a namespace conflict).</li><li>Added <code>replyToCacheLevelName</code> option 
to the <a shape="rect" href="jms.html">JMS</a> component, allowing 
configuration of cache levels for persistent reply consumers when doing 
request/reply over JMS. Some message brokers do not work well with caching, so 
users may need to set this option to <code>CACHE_NONE</code>.</li><li>Added 
<code>antInclude</code> and <code>antExclude</code> options to <a shape="rect" 
href="file2.html">File</a> and <a shape="rect" href="ftp2.html">FTP</a> 
components to make it easier to specify include/exclude filters using ANT 
syntax.</li><li>The <a shape="rect" href="camel-maven-archetypes.html">Camel 
archetypes</a> for Java and Scala no longer generate projects with Spring 
dependencies.</li><li>Improv
 ed <code>JdbcMessageIdRepository</code> in the <a shape="rect" 
href="sql-component.html">SQL</a> to use custom SQL 
statements/queries.</li><li>Added option to <a shape="rect" 
href="properties.html">Properties</a> to allow silently ignoring property 
locations not found, such as a .properties file.</li><li>Added 
<code>managementNamePattern</code> attribute to 
<code>&lt;camelContext&gt;</code> to make it very easy to customize and control 
the JMX naming of the Camel application. See details at <a shape="rect" 
href="camel-jmx.html#CamelJMX-CamelJMX-ManagementNamingStrategy">Camel JMX</a>. 
For example, in OSGi environments you can explicitly configure a 
<code>managementNamePattern</code> in case you do not want the bundleId as part 
of MBean names.</li><li>Added streaming update support to <a shape="rect" 
href="solr.html">Solr</a> as well as support for 
SolrInputDocuments</li><li>Added SolrJ DirectXMLRequest support to <a 
shape="rect" href="solr.html">Solr</a> to support XML based index u
 pdates</li><li>Improved Camel <a shape="rect" href="mail.html">Mail</a> to 
support the <code>replyTo</code> option</li><li>Added <code>traceEnabled</code> 
option to <a shape="rect" href="jetty.html">Jetty</a> component so you have 
control over whether to allow HTTP TRACE calls against your Jetty 
endpoints.</li><li>Polished the <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a> to let the 
projects be prepared for <a shape="rect" href="testing.html">Testing</a>, and 
fixed any WARNs from Maven.</li><li>Added <code>dumpRouteStatsAsXml</code> 
methods to <a shape="rect" href="camel-jmx.html">JMX</a> to make it easier to 
get the total performance stats as XML, and in one JMX call.</li><li><a 
shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a> is now more 
aggressive if timeout occurred during shutdown, rejecting continued processing 
of messages or redeliveries.</li><li>Add <code>ShutdownPrepared</code> SPI to 
allow custom Services (also EIPs) in route
 s to do custom code in preparation for shutdown.</li><li>The 
<code>camel-archetype-java</code> <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a> is now a pure 
Java DSL based project (no longer Spring)</li><li><a shape="rect" 
href="jms.html">JMS</a> consumer is less verbose when logging uncaught 
exceptions thrown while processing a message. Added 
<code>errorHandlerLoggingLevel</code>, and 
<code>errorHandlerLogStackTrace</code> options to tweak the logging 
verbosity.</li><li>Added <code>messageId</code> as an <a shape="rect" 
href="mdc-logging.html">MDC logging</a> key.</li><li>Improved Camel's 
Transaction <a shape="rect" href="error-handler.html">Error Handler</a> logging 
to better pinpoint and correlate redelivered messages (from, e.g., a JMS 
broker), making the logs much easier to read.</li><li>Added a timeout option to 
<a shape="rect" href="spring-web-services.html">Spring Web Services</a> for 
specifying the read timeout while invoking a webservice.</li>
 <li>Optimized <a shape="rect" href="type-converter.html">Type Converter</a> 
registry for possible concurrency contention when looking up a type 
converter.</li><li>Improved <a shape="rect" href="simple.html">Simple</a> 
language to work better with floating point numbers in <a shape="rect" 
href="predicate.html">Predicate</a>s</li><li>Camel is now less verbose when 
starting and stopping, with less being logged at <code>INFO</code> 
level.</li><li>Add support for keyed data queues to <a shape="rect" 
href="jt400.html">JT400</a> component.</li><li><a shape="rect" 
href="idempotent-consumer.html">Idempotent Consumer</a> is now enlisted in JMX, 
which allows monitoring the duplicate message count as well as the operation to 
reset it.</li><li>Thread pools registered in <a shape="rect" 
href="camel-jmx.html">JMX</a> are now unregistered when Camel shuts them down. 
Note that all MBeans will be unregistered from JMX when Camel shuts itself 
down. This improvement is to unregister thread pools more e
 agerly, such as when routes are removed at runtime.</li><li>Camel will now 
also copy the message headers for a <code>JmsMessage</code> if you leverage 
<code>useOriginalMessage</code> in an <code>onException</code> 
definition.</li><li>Added <code>mockEndpointsAndSkip</code> to <a shape="rect" 
href="advicewith.html">AdviceWith</a> and the <a shape="rect" 
href="testing.html">Test Kit</a></li><li>The <a shape="rect" 
href="file2.html">File</a> and <a shape="rect" href="ftp2.html">FTP</a> 
components now support filtering directories. The <code>isDirectory</code> 
method on the <code>GenericFile</code> class can be used to skip unwanted 
directories, accelerating file consumption.</li><li><a shape="rect" 
href="smpp.html">SMPP</a> connections can now be tunneled through an HTTP proxy 
by configuring HTTP proxy settings.</li><li>Camel now also checks, when 
starting a route dynamically, whether there would be any violations on multiple 
consumers from the same <a shape="rect" href="endpoint.html"
 >Endpoint</a>. Previously this check only occurred during Camel startup - now 
 >it always happens.</li><li>Stopping a <code>ConsumerTemplate</code> or a 
 ><code>ProducerTemplate</code> will now stop and shutdown its cache to cleanup 
 >any resources which otherwise may not have been reclaimed until 
 >shutdown.</li><li><a shape="rect" class="external-link" 
 >href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html";>ScheduledPollConsumer</a>
 > will now shutdown thread pools more eagerly, such as when stopping a 
 ><code>ConsumerTemplate</code>.</li><li>Added option 
 ><code>asyncStartListener</code> to <a shape="rect" href="jms.html">JMS</a> to 
 >allow starting JMS consumers (e.g. routes) asynchronously. This can be used 
 >to avoid blocking in case the JMS consumer takes long time to establish a 
 >connection to the JMS broker.</li><li><a shape="rect" 
 >href="wire-tap.html">Wire Tap</a> now supports <a shape="rect" 
 >href="error-handling-in-camel.html">Error H
 andling</a> when sending a tapped message to an <a shape="rect" 
href="endpoint.html">Endpoint</a>.</li><li>Added the autogenColumns, configRef 
and strategyRef options to the <a shape="rect" href="csv.html">CSV</a> 
dataformat in XML DSL whereas the new skipFirstLine option is provided in Java 
API as well.</li><li><a shape="rect" href="validation.html">Validator</a> 
component will now fail with a better error message if resource schema refers 
to element which cannot be resolved.</li><li>Added support for retrieving 
generated keys from <a shape="rect" href="jdbc.html">JDBC</a> 
component.</li><li>Added support for Spring 3.1.x.</li><li>Added 
<code>retainFirst</code>, and <code>retainLast</code> options to <a 
shape="rect" href="mock.html">Mock</a> component.</li><li>Improved <a 
shape="rect" href="simple.html">Simple</a> language to allow referring to 
headers using bracket notation.</li><li>Added support for the scp: protocol via 
<a shape="rect" href="jsch.html">Jsch</a>.</li><li>Added su
 pport to exclude certain fields when marshalling POJO's to <a shape="rect" 
href="json.html">JSON</a>. Available with both the Jackson and GSON 
library.</li><li>Allow to configure frequency of timeout checker when doing 
request/reply over <a shape="rect" href="jms.html">JMS</a></li><li>Improved the 
Java DSL to make it easier to use predicates from the build-in DSL, that has 
commonly used predicates and expressions.</li><li><a shape="rect" 
href="aggregator2.html">Aggregate</a> EIP now supports 
<code>TimeoutAwareAggregationStrategy</code> aggregation 
strategies.</li><li>The default <code>Injector</code> now performs bean post 
processing to inject @Produce, @Consume, @EndpointInject fields 
etc.</li><li>The <a shape="rect" href="camel-run-maven-goal.html">camel-run</a> 
maven plugin now supports running <a shape="rect" 
href="using-osgi-blueprint-with-camel.html">OSGi Blueprint 
applications</a>.</li><li>Added utilization statistics to the type converter 
registry (which can be accessed from
  <a shape="rect" href="camel-jmx.html">JMX</a>), and are logged as Camel is 
shutting down.</li><li>Improved <a shape="rect" href="camel-jmx.html">JMX</a> 
to work better with servers such as WebSphere which alters MBean names when 
enlisting mbeans into the server (Camel now have an internal mapping 
table).</li><li>All <a shape="rect" href="eip.html">EIP</a>s out of the box 
from Camel now provides <a shape="rect" href="camel-jmx.html">JMX</a> 
utilization statistics.</li><li>The <a shape="rect" href="file2.html">File</a> 
and <a shape="rect" href="ftp2.html">FTP</a> consumers will now let 
<code>org.apache.camel.spi.ExceptionHandler</code> deal with exceptions 
occurred during acquiring real lock as well. See <a shape="rect" 
href="file2.html">File</a> page for example of using a custom 
<code>ExceptionHandler</code>.</li><li>Reduce the logging level from ERROR to 
WARN on the default <code>LoggingExceptionHandler</code>.</li><li>Added option 
<code>consumer.bridgeErrorHandler</code> to allow
  consumers such as <a shape="rect" href="file2.html">File</a> and <a 
shape="rect" href="ftp2.html">FTP</a> to use the routing engine <a shape="rect" 
href="error-handler.html">Error Handler</a> to deal with exceptions occurring 
in the consumer (outside the routing engine), for example if having trouble 
picking up a file from a shared network drive etc. See more details at <a 
shape="rect" href="file2.html">File</a> page. This option applies to all 
consumers which extends the <code>DefaultConsumer</code> from 
<code>camel-core</code>.</li><li>Added <code>eagerMaxMessagesPerPoll</code> 
option to <a shape="rect" href="file2.html">File</a>, and <a shape="rect" 
href="ftp2.html">FTP</a> endpoints to allow to do a full sorting of the files 
and also limit the pool at the same time</li><li>The <a shape="rect" 
href="xslt.html">XSLT</a>, <a shape="rect" href="velocity.html">Velocity</a>, 
<a shape="rect" href="freemarker.html">FreeMarker</a>, and <a shape="rect" 
href="stringtemplate.html">StringTe
 mplate</a> components using http resource for the template now supports query 
parameters</li><li>You can specify the class type with <a shape="rect" 
href="bindy.html">Bindy</a> to make it stand out what type is being used, as 
well the <code>unmarshal</code> operation returns a list of the pojos (and the 
pojo directly if only 1). Which makes it easier to use/work with.</li><li>Added 
<code>group</code> option to <a shape="rect" 
href="tokenizer.html">Tokenizer</a> to make it easier with the <a shape="rect" 
href="splitter.html">Splitter</a> to split by combining N number of parts 
together, eg splitting files in chunks by N lines combined.</li><li>Camel is 
now compatible to the upcoming Karaf 3 release</li><li>Added 
<code>ExchangeSendingEvent</code> to <code>EventNotifier</code> to emit an 
event <strong>before</strong> sending an <a shape="rect" 
href="exchange.html">Exchange</a> to an <a shape="rect" 
href="endpoint.html">Endpoint</a>. Then we have events for both before and 
after.</li><l
 i>Relaxed syntax check in <a shape="rect" href="simple.html">Simple</a> 
language to only scan for functions if a start token was explicit configured. 
This allows to easier do json like expressions.</li><li>Added support for 
escaping values in <a shape="rect" href="simple.html">Simple</a> language using 
the \ character.</li><li>Added new <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a> for creating new 
<a shape="rect" href="component.html">Component</a> using Scala.</li><li>Added 
<code>trim</code> option to <a shape="rect" href="languages.html">Languages</a> 
in the XML DSL, to control trimming the expression values, to remove the 
whitespace noise from XML tags.</li><li>Improved the <a shape="rect" 
href="file2.html">File</a> consumer to support competing consumers on a shared 
drive to not pickup files from other consumers, as marker file is always used, 
for <code>readLock</code> strategies such as changed, rename and fileLock. For 
example if you have a clu
 stered environment and have multiple Camel applications pickup files from a 
shared drive with <code>readLock=changed</code>.</li><li>The <a shape="rect" 
href="file2.html">File</a> consumer with <code>readLock=changed</code> will now 
consider zero length file as in progress files.</li><li>Made it easier to <a 
shape="rect" href="using-propertyplaceholder.html">bridge Spring and Camel 
property placeholders</a>, by configuring only once, using a new 
<code>BridgePropertyPlaceholderConfigurer</code> bean type.</li><li>Improved 
the <a shape="rect" href="smpp.html">SMPP</a> component to refer to a 
<code>org.jsmpp.session.SessionStateListener</code> to receive callbacks when 
the session state changed.</li><li>Added connection pooling to <a shape="rect" 
href="jt400.html">JT400</a> component</li><li><a shape="rect" 
href="restlet.html">Restlet</a> component can be configured with Restlet Server 
parameters, for example to configure thread pool sizes.</li><li>CamelContext 
MBean in <a shape="rect"
  href="camel-jmx.html">JMX</a> now shows aggregated performance stats for all 
the routes</li><li>Made it easy to override properties when <a shape="rect" 
href="testing.html">Testing</a> with Camel when <a shape="rect" 
href="using-propertyplaceholder.html">Using PropertyPlaceholder</a>. For 
example unit testing with OSGi Blueprint using config admin service to provide 
properties, is now easy as you can provide the properties from directly within 
the unit test source code itself.</li><li>Improved <a shape="rect" 
href="netty.html">Netty</a> to support both shareable and non-shareable 
encoders and decoders.</li><li>Improved <a shape="rect" 
href="netty.html">Netty</a> to support proxy use cases (eg 
<code>from(netty).to(netty)</code>)</li><li>Added 
<code>CompletionAwareAggregationStrategy</code> to <a shape="rect" 
href="aggregator2.html">Aggregator</a> EIP as callback when the aggregated 
exchange is completed.</li><li>Scheduled <a shape="rect" 
href="polling-consumer.html">Polling Consumer
 </a> and poll based <a shape="rect" href="component.html">Component</a>s such 
as <a shape="rect" href="file2.html">File</a>, and <a shape="rect" 
href="ftp2.html">FTP</a> can now use a custom/shared thread pool for its 
consumer(s). For example having many file routes, can now share a thread pool, 
and reduce number of overall threads in the JVM.</li><li>Optimized <a 
shape="rect" href="bean.html">Bean</a> expressions to cache bean introspections 
so subsequent evaluations is faster.</li></ul><h3 
id="Camel2.10.0Release-Fixedissues">Fixed issues</h3><ul><li>Fixed memory leak 
when dynamically adding and removing many routes at runtime. See this <a 
shape="rect" 
href="memory-leak-when-adding-and-removing-routes-at-runtime.html">FAQ</a> for 
more information.</li><li>Fixed potential NPE in <a shape="rect" 
href="ftp2.html">FTP</a> consumer when using double slashes as starting 
directory.</li><li>Fixed <a shape="rect" 
href="intercept.html#Intercept-InterceptSendToEndpoint">InterceptSendToEndpoin
 t</a> when using <code>skipSendToEndpoint=true</code> with a <a shape="rect" 
href="predicate.html">when</a> predicate to only skip sending if the predicate 
was true.</li><li>Fixed an issue with <a shape="rect" 
href="bean-binding.html">Bean Binding</a> directly in a method name not working 
properly with method call expressions.</li><li>Fixed issue with using custom 
namespaces in <a shape="rect" href="xpath.html">XPath</a> expressions when 
using <a shape="rect" href="using-osgi-blueprint-with-camel.html">OSGi 
Blueprint</a></li><li>Fixed <a shape="rect" 
href="validation.html">Validation</a> to support <code>xs:import</code> in the 
schema files.</li><li>Fixed <a shape="rect" href="content-enricher.html">Poll 
Enrich</a> where the timeout was not explicitly configured to use blocking mode 
(was wrongly using non-blocking mode).</li><li>Fixed <a shape="rect" 
href="async.html">Threads EIP</a> to handle rejected policies, ensuring the <a 
shape="rect" href="exchange.html">Exchange</a> will fin
 ish the <code>UnitOfWork</code> and will be de-registered from the inflight 
registry.</li><li>Fixed <a shape="rect" href="delayer.html">Delayer</a> not 
working with a <a shape="rect" href="bean.html">Bean</a> expression to define 
the delay when using XML DSL</li><li>Fixed <a shape="rect" 
href="jms.html">JMS</a> consumer to no longer complain by default if no 
errorHandler is configured when an uncaught exception was thrown while 
processing a message.</li><li>Fixed the String trim issue in <a shape="rect" 
href="simple.html">Simple</a> expressions.</li><li>Fixed the issue with <a 
shape="rect" href="recipient-list.html">Recipient List</a> not triggering <a 
shape="rect" href="error-handler.html">Error Handler</a> for endpoints with non 
existing <a shape="rect" href="component.html">Component</a>s.</li><li>Fixed <a 
shape="rect" href="load-balancer.html">Load Balancer</a> to update statistics 
in <a shape="rect" href="camel-jmx.html">JMX</a></li><li>Fixed <a shape="rect" 
href="seda.html">SE
 DA</a> producer configured with <code>waitForTaskToComplete=Always</code> to 
not hand over on-completion tasks, which otherwise could be processed 
prematurely.</li><li>Fixed a potential issue with configuring custom start and 
end tokens for the <a shape="rect" href="simple.html">Simple</a> language when 
using Spring XML.</li><li>Fixed an issue with <a shape="rect" 
href="type-converter.html">Type Converter</a> where NaN values were converted 
to integers.</li><li>Fixed <a shape="rect" href="http.html">HTTP</a>, <a 
shape="rect" href="http4.html">HTTP4</a>, and <a shape="rect" 
href="jetty.html">Jetty</a> producers to send empty HTTP headers for <a 
shape="rect" href="exchange.html">Exchange</a> headers with an empty 
value.</li><li>Fixed an issue with configuring a custom thread pool profile on 
some <a shape="rect" href="eip.html">EIP</a>s.</li><li>Fixed an issue with <a 
shape="rect" href="intercept.html">Intercept</a> causing processors to not 
update their performance statistics in <a sh
 ape="rect" href="camel-jmx.html">JMX</a></li><li>Fixed using 
&lt;errorHandler&gt; with embedded &lt;redeliveryPolicy&gt; to support <a 
shape="rect" href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a></li><li>Fixed issue with using 
&lt;redeliveryPolicy&gt;, and &lt;redeliveryPolicyProfile&gt; with OSGi 
Blueprint.</li><li>Fixed failover <a shape="rect" 
href="load-balancer.html">Load Balancer</a> to perform defensive copy of the 
message before attempting failover, to ensure previous attempts do not 
propagate back into succeeding attempts.</li><li>Fixed issue when restarting 
application using <a shape="rect" href="quartz.html">Quartz</a> with a 
persistent (non clustered) job store, where the app was not shutdown cleanly 
(such as crashed)</li><li>Fixed issue when using consumer endpoints with <a 
shape="rect" href="using-propertyplaceholder.html">Property placeholders</a> 
not working with <a shape="rect" href="intercept.html">inteceptors</a> such as 
<code>interceptFrom</co
 de>.</li><li>Fixed issue with suspend/resume a <a shape="rect" 
href="timer.html">Timer</a> consumer, not causing timer task to stop 
firing.</li><li>Fixed <a shape="rect" href="netty.html">Netty</a> producer to 
re-use existing connections when sending. This avoid re-creating a new 
connection for every message being sent.</li><li>Fixed issue with <a 
shape="rect" href="simple.html">Simple</a> invoking overloaded methods using 
OGNL notation, where method name was explicitly declared to invoke the 
no-parameter method</li><li>Fixed continued and handled <a shape="rect" 
href="predicate.html">Predicates</a> of <a shape="rect" 
href="exception-clause.html">OnException</a> to be evaluated once per 
exception, instead of twice.</li><li>Fixed <a shape="rect" 
href="throttler.html">Throttler</a> and <a shape="rect" 
href="delayer.html">Delayer</a> EIPs when evaluating of max/delay expression 
fails at runtime, not causing error handling to react.</li><li>Fixed <a 
shape="rect" href="mail.html">Mail</a
 > message with attachments may appear to be lost when <a shape="rect" 
 > href="error-handler.html">Error Handler</a> performs 2+ redelivery 
 > attempts.</li><li>Fixed issue with a failed type conversion using <a 
 > shape="rect" href="jaxb.html">JAXB</a> may cause subsequent attempts to be 
 > regarded as failed as well</li><li>Fixed method call <a shape="rect" 
 > href="expression.html">Expression</a> to preserve headers and <a 
 > shape="rect" href="exchange.html">Exchange</a> properties, which allow to 
 > use it for storing state with the <a shape="rect" 
 > href="dynamic-router.html">Dynamic Router</a> EIP</li><li>Fixed locale issue 
 > with configuring endpoints using uris, such as Turkish with the lower/upper 
 > case of the letter i.</li><li>Fixed issue reading and writing files when a 
 > <code>charset</code> was configured on the file endpoint.</li><li>Fixed 
 > issue with <code>convertBodyTo</code> not working internally as 
 > <code>transform</code> and <code>setBody</code>, by resetting the message 
 > type to <code>Defaul
 tMessage</code>.</li><li>Fixed issue with <a shape="rect" 
href="loop.html">Loop</a> using <code>copy</code> and an exception 
occurred</li><li>Fixed so <a shape="rect" href="file2.html">File</a> consumer 
using done file name, will not automatic delete the done file if 
<code>noop=true</code> is configured.</li><li>Fixed issue with <a shape="rect" 
href="servlet.html">SERVLET</a> may send back incorrect content length for data 
with unicode characters outside the normal ASCII range.</li><li>Fixed <a 
shape="rect" href="jetty.html">Jetty</a> http producer (client) may corrupt 
streams if used in a bridge mode (eg like a proxy)</li><li>Fixed <a 
shape="rect" href="jetty.html">Jetty</a> http consumer (server) may corrupt 
streams if chunked was disabled</li><li>Fixed issue with 
<code>camel-blueprint</code> and using <code>CamelContextAware</code> beans for 
<code>EventNotifier</code> (and the beans from this <a shape="rect" 
href="advanced-configuration-of-camelcontext-using-spring.html">list</a>
 ) injecting the <code>CamelContext</code> which is not ready, causing the 
blueprint container to hang waiting for the service.</li><li>Fixed <a 
shape="rect" href="bindy.html">Bindy</a> to not use default locale, but only 
use locale if explicit configured.</li><li>Fixed <a shape="rect" 
href="restlet.html">Restlet</a> not propagating headers during 
routing.</li><li>Fixed running multiple Camel apps with same CamelContext name 
in a single JVM with <a shape="rect" href="quartz.html">Quartz</a> component, 
causing jobs to pick wrong CamelContext.</li><li>Fixed URI normalization to 
support % sign itself, by specifying the % sign using its encoded value (eg 
%25).</li><li>Fixed <a shape="rect" href="jms.html">JMS</a> producer to trigger 
Camel error handling if destination resolution failed due to an 
exception.</li><li>Fixed <a shape="rect" href="error-handler.html">Error 
Handler</a> with async redelivery to use shared thread pool per CamelContext, 
instead of per JVM</li><li>Fixed issue with 
 added headers, using <code>setHeader</code> may be lost if a <a shape="rect" 
href="jms.html">JMS</a> route uses the <a shape="rect" 
href="dynamic-router.html">Dynamic Router</a> EIP</li></ul><h3 
id="Camel2.10.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.10.0Release-NewCamelKarafCommand">New Camel 
Karaf Command</h3><ul><li>Add camel:endpoint-list to list all Camel endpoints 
available in Camel Context deployed on Karaf/ServiceMix</li></ul><h3 
id="Camel2.10.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li><code><a shape="rect" 
href="avro.html">camel-avro</a></code> - for <a shape="rect" 
class="external-link" href="http://avro.apache.org/";>Apache Avro</a> 
integration</li><li><code><a shape="rect" href="aws.html">camel-aws</a></code> 
- for <a shape="rect" class="external-link" 
href="http://aws.amazon.com/dynamodb/"; rel="nofollow">DynamoDB</a> integration 
within <a 
 shape="rect" class="external-link" href="http://aws.amazon.com/"; 
rel="nofollow">Amazon Web Services</a></li><li><code><a shape="rect" 
href="beanio.html">camel-beanio</a></code> - <a shape="rect" 
href="data-format.html">Data Format</a> to map objects to flat structured 
format</li><li><code><a shape="rect" href="cdi.html">camel-cdi</a></code> - to 
deploy Apache Camel in CDI container with Dependency Injection (JSR299, 
330)</li><li><code>camel-core</code> - new support for "<a shape="rect" 
href="stub.html">stubbing</a>" endpoints, for development and testing 
purposes</li><li><code>camel-core</code> - new <a shape="rect" 
href="direct-vm.html">direct-vm</a> for synchronous messaging between different 
CamelContext in the same JVM (for example to support transactions, across 
CamelContexts).</li><li><code><a shape="rect" 
href="fop.html">camel-fop</a></code> - to render messages into different 
outputs using <a shape="rect" href="fop.html">Apache FOP</a></li><li><code><a 
shape="rect" href="js
 on.html">camel-gson</a></code> - provides a <a shape="rect" 
class="external-link" href="http://www.json.org/"; rel="nofollow">JSON</a> data 
format using the <a shape="rect" class="external-link" 
href="http://code.google.com/p/google-gson/"; rel="nofollow">Google GSON 
project</a></li><li><code><a shape="rect" 
href="guava-eventbus.html">camel-guava-eventbus</a></code> - provides a 
integration bridge between Camel and <a shape="rect" class="external-link" 
href="http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/package-summary.html";
 rel="nofollow">Google Guava EventBus</a> infrastructure.</li><li><code><a 
shape="rect" href="hbase.html">camel-hbase</a></code> - provides integration 
with <a shape="rect" class="external-link" 
href="http://hbase.apache.org/";>HBase</a></li><li><code><a shape="rect" 
href="jsch.html">camel-jsch</a></code> - Secure Copy using <a shape="rect" 
class="external-link" href="http://www.jcraft.com/jsch/"; 
rel="nofollow">JSCH</a></li><li><c
 ode>camel-mina2</code> - <code>camel-mina2</code> is expected to be refactored 
in Camel 2.11, so use on own risk of having to migrate.</li><li><code><a 
shape="rect" href="mongodb.html">camel-mongodb</a></code> - for <a shape="rect" 
class="external-link" href="http://www.mongodb.org/"; rel="nofollow">MongoDB</a> 
integration</li><li><code><a shape="rect" 
href="springbatch.html">camel-spring-batch</a></code> - For using Spring Batch 
with Camel.</li><li><code><a shape="rect" href="ssh.html">camel-ssh</a></code> 
- For executing commands on an <a shape="rect" class="external-link" 
href="http://en.wikipedia.org/wiki/SSH"; rel="nofollow">SSH</a> <a shape="rect" 
class="external-link" 
href="http://en.wikipedia.org/wiki/Comparison_of_SSH_servers"; 
rel="nofollow">server</a></li><li><code><a shape="rect" 
href="blueprint-testing.html">camel-test-blueprint</a></code> - for testing 
Blueprint routes</li><li><code><a shape="rect" 
href="spring-testing.html">camel-test-spring</a></code> - for testing Spri
 ng routes</li><li><code><a shape="rect" 
href="twitter.html">camel-twitter</a></code> - for <a shape="rect" 
class="external-link" href="http://www.twitter.com/"; rel="nofollow">Twitter</a> 
integration</li><li><code><a shape="rect" 
href="websocket.html">camel-websocket</a></code> - for <a shape="rect" 
class="external-link" href="http://www.websocket.org/"; 
rel="nofollow">WebSocket</a> integration</li></ul><h3 
id="Camel2.10.0Release-DSLChanges">DSL Changes</h3><h3 
id="Camel2.10.0Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.10.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><ul><li><code><a shape="rect" 
href="avro.html">camel-avro</a></code> - for <a shape="rect" 
class="external-link" href="http://avro.apache.org/";>Apache Avro</a> 
integration</li><li><code><a shape="rect" 
href="beanio.html">camel-beanio</a></code> - for mapping objects to flat 
structured format</li><li><code><a shape="rect" 
href="json.html">camel-gson</a></code> - pr
 ovides a <a shape="rect" class="external-link" href="http://www.json.org/"; 
rel="nofollow">JSON</a> data format using the <a shape="rect" 
class="external-link" href="http://code.google.com/p/google-gson/"; 
rel="nofollow">Google GSON project</a></li></ul><h3 
id="Camel2.10.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.10.0Release-New.3">New 
<a shape="rect" 
href="examples.html">Examples</a></h3><ul><li><code>camel-example-ssh</code></li><li><code><a
 shape="rect" 
href="twitter-websocket-example.html">camel-example-twitter-websocket</a></code>
 - shows how to use Twitter to push live tweet updates to a webpage with 
Websocket</li><li><code><a shape="rect" 
href="console-example.html">camel-example-console</a></code> - a new beginner 
example that shows how to read input from the console</li></ul><h3 
id="Camel2.10.0Release-New.4">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.10.0Release-APIchanges/breaking">API changes/br
 eaking</h2><ul><li>Added <code>shutdownForced</code> and 
<code>forceShutdown</code> methods to 
<code>org.apache.camel.spi.ShutdownStrategy</code></li><li>Add boolean 
parameter to <code>prepareShutdown</code> on 
<code>ShutdownAware</code></li><li>The <code>errorHandler</code> method in 
<code>RouteBuilder</code> now returns <code>void</code>, as it's only used for 
configuring context-scoped error handlers.</li><li>Removed the 
<code>SimpleLanguage</code> constructor that takes custom start and end tokens. 
Instead use the change methods to set custom tokens.</li><li>Added 
<code>onThreadPoolRemove</code> and <code>onErrorHandlerRemove</code> methods 
to <code>LifecycleStrategy</code></li><li>Removed 
<code>retryWhile(Expression)</code> on <code>OnExceptionDefinition</code>; use 
<code>retryWhile(Predicate)</code>.</li><li>Removed options 
<code>corePoolSize</code> and <code>maxPoolSize</code> on <a shape="rect" 
href="netty.html">Netty</a> endpoint, as we rely on Netty default 
implementation.
 </li><li>The <code>resourceClasses</code> option on <a shape="rect" 
href="cxfrs.html">CXFRS</a> no longer supports the semicolon (<img 
class="emoticon emoticon-wink" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/wink.png";
 data-emoticon-name="wink" alt="(wink)"> for separating class names. Now only 
the comma (,) is supported (which is the standard in Camel)</li><li>Added 
<code>tryConvertTo</code> methods to <code>TypeConverter</code>, which works as 
the regular <code>convertTo</code> methods, by ignoring any exceptions during 
conversion.</li><li>The <code>convertTo</code> methods on 
<code>TypeConverter</code> now throws <code>TypeConversionException</code> if 
an exception occurred during type conversion.</li><li>The 
<code>getBody(type)</code>, and <code>getHeader(name, type</code> methods on 
<code>Message</code> now throws <code>TypeConversionException</code> if an 
exception occurred during type conversion.</
 li><li>The <a shape="rect" href="simple.html">Simple</a> language no longer 
trim the expression in Java DSL. Instead we introduced a <code>trim</code> 
option in the XML DSL to remove the white space noise from XML 
tags.</li><li>Added <code>containsSynchronization</code> to 
<code>UnitOfWork</code> and <code>Exchange</code> to check if a given on 
completion has already been added to the given exchange.</li></ul><h2 
id="Camel2.10.0Release-Internal/NonAPIrefactoringsthatmayaffectusers">Internal/Non
 API refactorings that may affect users</h2><ul><li>Removed method 
<code>setManagementName</code> from <code>CamelContext</code> as it should not 
be used by Camel end users</li><li>Added method 
<code>isTransactedRedelivered</code> to <a shape="rect" 
href="exchange.html">Exchange</a></li><li>Added method <code>isDirectory</code> 
to <code>GenericFile</code></li><li>API changed in the 
<code>ClientPipelineFactory</code> and <code>ServerPipelineFactory</code> 
abstract classes in <a shape="rect" hre
 f="netty.html">Netty</a></li><li>Added <code>getStatistics</code> method to 
<code>TypeConverterRegistry</code>, and the registry now extends 
<code>Service</code> as well.</li><li>The <code>convertBodyTo</code> with a 
charset configured, will not propagate the charset as an Exchange property 
(<code>Exchange.CHARSET_NAME</code>), which otherwise may lead to payload being 
double converted.</li><li>Added <code>abort</code> method to 
<code>GenericFileProcessStrategy</code>.</li><li><code>camel-mail</code> now 
excludes dependency on javax activation JAR as thats embedded in the JVM from 
JRE6 onwards.</li><li>URI normalization will now better detect <a shape="rect" 
class="external-link" href="http://en.wikipedia.org/wiki/Url_encode"; 
rel="nofollow">pre existing % decimal encoded values</a>.</li></ul><h2 
id="Camel2.10.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>onComp
 letion</code> or <code>intercept</code>, etc.</li><li>The project cannot fully 
build the site using Maven (e.g. running <code>"mvn site"</code>). There is no 
plan to fix this, as the project does not use maven site.</li><li>JBoss 7 may 
log a WARNing when running Camel as a WAR file.</li><li>camel-spring-test 
bundle has the classes from camel-test, if you are using camel-spring-test in 
OSGi platform, please don't install the camel-test at the same time.</li><li><a 
shape="rect" href="cxf-example-osgi.html">CXF Example OSGi</a> doesn't work 
without enabling dynamic imports for this bundle.</li></ul><h2 
id="Camel2.10.0Release-DependencyUpgrades">Dependency Upgrades</h2><ul><li>AHC 
1.6.5 to 1.7.5</li><li>AWS 1.2.2 to 1.3.10</li><li>Commons-codec 1.4 to 
1.6</li><li>Commons-net 2.2 to 3.1.0</li><li>CXF 2.5.1 to 2.6.1</li><li>EHCache 
2.4.3 to 2.5.1</li><li>Freemarker 2.3.18 to 2.3.19</li><li>Google App Engine 
1.5.0 to 1.6.6</li><li>Groovy 1.8.5 to 1.8.6</li><li>Hadoop 0.20.203.0 to 
1.0.3</l
 i><li>HTTP4 core 4.1.2 to 4.1.4</li><li>HTTP4 client 4.1.2 to 
4.1.3</li><li>Hazelcast 1.9.4.4 to 2.0.2</li><li>Hawtbuf 1.7 to 
1.9</li><li>Jackson 1.9.2 to 1.9.7</li><li>Jackrabbit 2.2.4 to 
2.2.11</li><li>Jasypt 1.7 to 1.9.0</li><li>Javax Mail 1.4.4. to 
1.4.5</li><li>Jersey 1.10 to 1.12</li><li>JClouds 1.3.1 to 
1.4.0</li><li>Jettison 1.3 to 1.3.1</li><li>Jetty 7.5.3 to 7.5.4</li><li>JRuby 
1.6.6 to 1.6.7</li><li>JSCH 0.1.44 to 0.1.48</li><li>JuEL 2.1.3 to 
2.1.4</li><li>Kratti 0.4.1 to 0.4.5</li><li>Logback 1.0.0 to 
1.0.6</li><li>Lucene 3.0.3 to 3.6.0</li><li>MyBatis 3.0.6 to 
3.1.1</li><li>Netty 3.2.6 to 3.5.1</li><li>OGNL 3.0.2 to 3.0.4</li><li>QPid 
0.12 to 0.16</li><li>QuickFIX/J 1.5.1 to 1.5.2</li><li>Resetlet 2.0.10 to 
2.0.14</li><li>SNMP 1.8.1 to 1.10.1</li><li>Solr 3.5.0 to 3.6.0</li><li>Shiro 
1.1.0 to 1.2.0</li><li>Stringtemplate 3.0 to 3.2.1</li><li>Spring 3.0.6 to 
3.0.7/3.1.1</li><li>Spring Integration 2.0.5 to 2.1.2</li><li>Spring Security 
3.0.7 to 3.1.0</li><li>Spymemcached 
 2.5 to 2.8.0</li><li>Tagsoup 1.2 to 1.2.1</li><li>Woodstox 4.1.1 to 
4.1.2</li><li>XStream 1.4.1 to 1.4.2</li><li>XML Security 1.4.5 to 
1.5.1</li></ul><h2 
id="Camel2.10.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Moved <a shape="rect" 
href="spring-testing.html">Spring Testing</a> from <code>camel-test</code> to 
<code>camel-test-spring</code> component.</li><li>Combination of 
<code>skipSendToEndpoint=true</code> and <code>when</code> predicate now 
triggers conditional skipping (you may have been relying on unconditional 
skipping up until now)</li><li>The thread name pattern has changed tokens to 
avoid clashing with <a shape="rect" href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a> (see <a shape="rect" 
href="threading-model.html">Threading Model</a> for more details).</li><li><a 
shape="rect" href="content-enricher.html">Poll Enrich</a> will now block if no 
messages are available and no explicit timeout has 
 been configured.</li><li>The option <code>lazyLoadTypeConverter=true</code> 
has been deprecated, and will be removed in a future release. The best practice 
is to load type converters while bootstrapping Camel.</li><li>The <a 
shape="rect" href="testing.html">Camel Test kit</a> no longer lazily loads type 
converters.</li><li>Keys for <a shape="rect" href="mdc-logging.html">MDC 
logging</a> have been prefixed with <code>"camel."</code>.</li><li><a 
shape="rect" href="wire-tap.html">Wire Tap</a> can no longer change destination 
from <a shape="rect" href="camel-jmx.html">JMX</a></li><li>Camel now fail 
faster during type conversion, by throwing <code>TypeConversionException</code> 
to the caller, from APIs such as <code>TypeConverter</code> and 
<code>Message</code>. For example <code>getBody(type)</code> on the 
<code>Message</code> API.</li><li>Camel no longer supports using 
<code>java.beans.PropertyEditor</code> for type conversion. These are slow, 
neither thread safe, and using 3rd party J
 ARs on the classpath may cause side effect as if they install 
<code>java.beans.PropertyEditor</code>.</li><li>Use the <code>charset</code> 
option on the <a shape="rect" href="file2.html">File</a> component to explicit 
specify encoding for reading and writing files.</li><li>Maven 3.0.2 or better 
is required to build the <a shape="rect" 
href="source.html">Source</a></li></ul><h2 
id="Camel2.10.0Release-Notice">Notice</h2><ul><li>If you want to deploy Apache 
Camel 2.10.0 into Apache Karaf, we highly recommend to use the 
'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5 
onwards. For example <code>camel-cxf</code>, and <code>camel-spring-ws</code> 
requires this to be installable; as well other features may as 
well.</li><li>Support for JUnit 3.x in the Camel <a shape="rect" 
href="testing.html">Test</a>s components is being discontinued and expected to 
be removed from Camel 2.11 onwards.</li></ul><h2 
id="Camel2.10.0Release-GettingtheDistributions">Getting the Distribut
 ions</h2><h3 id="Camel2.10.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.10.0/apache-camel-2.10.0.zip";>apache-camel-2.10.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.10.0/apache-camel-2.10.0.zip.asc";>apache-camel-2.10.0.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distrib
 ution</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.10.0/apache-camel-2.10.0.tar.gz";>apache-camel-2.10.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.10.0/apache-camel-2.10.0.tar.gz.asc";>apache-camel-2.10.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 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.10.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.10.0/apache-camel-2.10.0-src.zip";>apache-camel-2.10.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/apach
 
e-camel/2.10.0/apache-camel-2.10.0-src.zip.asc">apache-camel-2.10.0-src.zip.asc</a></p></td></tr></tbody></table></div></div>
+<h2 id="Camel2.10.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome 
to the 2.10.0 release with approximately 483 issues resolved - including new 
features, improvements, and bug fixes, such as:</p><ul><li>Added support for 
Java 1.7</li><li>Added consumer to <a shape="rect" href="jcr.html">JCR</a> 
component</li><li>Internal code cleanup to reduce warnings reported by 
Eclipse</li><li>Moved <a shape="rect" href="spring-testing.html">Spring 
Testing</a> from <code>camel-test</code> to <code>camel-test-spring</code> 
component.</li><li>Camel <a shape="rect" 
href="using-propertyplaceholder.html">Property Placeholders</a> are now 
supported in embedded <a shape="rect" href="expression.html">Expression</a>s 
within Camel routes.</li><li>Added missing options in the XML DSL for the <a 
shape="rect" href="xpath.html">XPath</a> language to control and set which 
XPath Engine to use, etc.</li><li>Added option <code>logNamespaces</code> to 
the <a shape="rect" href="xpath.html">XPath</a> lang
 uage to have <code>INFO</code> logging of detected namespaces from message. 
This can be used to troubleshoot issues where an <a shape="rect" 
href="xpath.html">XPath</a> expression doesn't work as expected (as it's often 
a namespace conflict).</li><li>Added <code>replyToCacheLevelName</code> option 
to the <a shape="rect" href="jms.html">JMS</a> component, allowing 
configuration of cache levels for persistent reply consumers when doing 
request/reply over JMS. Some message brokers do not work well with caching, so 
users may need to set this option to <code>CACHE_NONE</code>.</li><li>Added 
<code>antInclude</code> and <code>antExclude</code> options to <a shape="rect" 
href="file2.html">File</a> and <a shape="rect" href="ftp2.html">FTP</a> 
components to make it easier to specify include/exclude filters using ANT 
syntax.</li><li>The <a shape="rect" href="camel-maven-archetypes.html">Camel 
archetypes</a> for Java and Scala no longer generate projects with Spring 
dependencies.</li><li>Improv
 ed <code>JdbcMessageIdRepository</code> in the <a shape="rect" 
href="sql-component.html">SQL</a> to use custom SQL 
statements/queries.</li><li>Added option to <a shape="rect" 
href="properties.html">Properties</a> to allow silently ignoring property 
locations not found, such as a .properties file.</li><li>Added 
<code>managementNamePattern</code> attribute to 
<code>&lt;camelContext&gt;</code> to make it very easy to customize and control 
the JMX naming of the Camel application. See details at <a shape="rect" 
href="camel-jmx.html#CamelJMX-CamelJMX-ManagementNamingStrategy">Camel JMX</a>. 
For example, in OSGi environments you can explicitly configure a 
<code>managementNamePattern</code> in case you do not want the bundleId as part 
of MBean names.</li><li>Added streaming update support to <a shape="rect" 
href="solr.html">Solr</a> as well as support for 
SolrInputDocuments</li><li>Added SolrJ DirectXMLRequest support to <a 
shape="rect" href="solr.html">Solr</a> to support XML based index u
 pdates</li><li>Improved Camel <a shape="rect" href="mail.html">Mail</a> to 
support the <code>replyTo</code> option</li><li>Added <code>traceEnabled</code> 
option to <a shape="rect" href="jetty.html">Jetty</a> component so you have 
control over whether to allow HTTP TRACE calls against your Jetty 
endpoints.</li><li>Polished the <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a> to let the 
projects be prepared for <a shape="rect" href="testing.html">Testing</a>, and 
fixed any WARNs from Maven.</li><li>Added <code>dumpRouteStatsAsXml</code> 
methods to <a shape="rect" href="camel-jmx.html">JMX</a> to make it easier to 
get the total performance stats as XML, and in one JMX call.</li><li><a 
shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a> is now more 
aggressive if timeout occurred during shutdown, rejecting continued processing 
of messages or redeliveries.</li><li>Add <code>ShutdownPrepared</code> SPI to 
allow custom Services (also EIPs) in route
 s to do custom code in preparation for shutdown.</li><li>The 
<code>camel-archetype-java</code> <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a> is now a pure 
Java DSL based project (no longer Spring)</li><li><a shape="rect" 
href="jms.html">JMS</a> consumer is less verbose when logging uncaught 
exceptions thrown while processing a message. Added 
<code>errorHandlerLoggingLevel</code>, and 
<code>errorHandlerLogStackTrace</code> options to tweak the logging 
verbosity.</li><li>Added <code>messageId</code> as an <a shape="rect" 
href="mdc-logging.html">MDC logging</a> key.</li><li>Improved Camel's 
Transaction <a shape="rect" href="error-handler.html">Error Handler</a> logging 
to better pinpoint and correlate redelivered messages (from, e.g., a JMS 
broker), making the logs much easier to read.</li><li>Added a timeout option to 
<a shape="rect" href="spring-web-services.html">Spring Web Services</a> for 
specifying the read timeout while invoking a webservice.</li>
 <li>Optimized <a shape="rect" href="type-converter.html">Type Converter</a> 
registry for possible concurrency contention when looking up a type 
converter.</li><li>Improved <a shape="rect" href="simple.html">Simple</a> 
language to work better with floating point numbers in <a shape="rect" 
href="predicate.html">Predicate</a>s</li><li>Camel is now less verbose when 
starting and stopping, with less being logged at <code>INFO</code> 
level.</li><li>Add support for keyed data queues to <a shape="rect" 
href="jt400.html">JT400</a> component.</li><li><a shape="rect" 
href="idempotent-consumer.html">Idempotent Consumer</a> is now enlisted in JMX, 
which allows monitoring the duplicate message count as well as the operation to 
reset it.</li><li>Thread pools registered in <a shape="rect" 
href="camel-jmx.html">JMX</a> are now unregistered when Camel shuts them down. 
Note that all MBeans will be unregistered from JMX when Camel shuts itself 
down. This improvement is to unregister thread pools more e
 agerly, such as when routes are removed at runtime.</li><li>Camel will now 
also copy the message headers for a <code>JmsMessage</code> if you leverage 
<code>useOriginalMessage</code> in an <code>onException</code> 
definition.</li><li>Added <code>mockEndpointsAndSkip</code> to <a shape="rect" 
href="advicewith.html">AdviceWith</a> and the <a shape="rect" 
href="testing.html">Test Kit</a></li><li>The <a shape="rect" 
href="file2.html">File</a> and <a shape="rect" href="ftp2.html">FTP</a> 
components now support filtering directories. The <code>isDirectory</code> 
method on the <code>GenericFile</code> class can be used to skip unwanted 
directories, accelerating file consumption.</li><li><a shape="rect" 
href="smpp.html">SMPP</a> connections can now be tunneled through an HTTP proxy 
by configuring HTTP proxy settings.</li><li>Camel now also checks, when 
starting a route dynamically, whether there would be any violations on multiple 
consumers from the same <a shape="rect" href="endpoint.html"
 >Endpoint</a>. Previously this check only occurred during Camel startup - now 
 >it always happens.</li><li>Stopping a <code>ConsumerTemplate</code> or a 
 ><code>ProducerTemplate</code> will now stop and shutdown its cache to cleanup 
 >any resources which otherwise may not have been reclaimed until 
 >shutdown.</li><li><a shape="rect" class="external-link" 
 >href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html";>ScheduledPollConsumer</a>
 > will now shutdown thread pools more eagerly, such as when stopping a 
 ><code>ConsumerTemplate</code>.</li><li>Added option 
 ><code>asyncStartListener</code> to <a shape="rect" href="jms.html">JMS</a> to 
 >allow starting JMS consumers (e.g. routes) asynchronously. This can be used 
 >to avoid blocking in case the JMS consumer takes long time to establish a 
 >connection to the JMS broker.</li><li><a shape="rect" 
 >href="wire-tap.html">Wire Tap</a> now supports <a shape="rect" 
 >href="error-handling-in-camel.html">Error H
 andling</a> when sending a tapped message to an <a shape="rect" 
href="endpoint.html">Endpoint</a>.</li><li>Added the autogenColumns, configRef 
and strategyRef options to the <a shape="rect" href="csv.html">CSV</a> 
dataformat in XML DSL whereas the new skipFirstLine option is provided in Java 
API as well.</li><li><a shape="rect" href="validation.html">Validator</a> 
component will now fail with a better error message if resource schema refers 
to element which cannot be resolved.</li><li>Added support for retrieving 
generated keys from <a shape="rect" href="jdbc.html">JDBC</a> 
component.</li><li>Added support for Spring 3.1.x.</li><li>Added 
<code>retainFirst</code>, and <code>retainLast</code> options to <a 
shape="rect" href="mock.html">Mock</a> component.</li><li>Improved <a 
shape="rect" href="simple.html">Simple</a> language to allow referring to 
headers using bracket notation.</li><li>Added support for the scp: protocol via 
<a shape="rect" href="jsch.html">Jsch</a>.</li><li>Added su
 pport to exclude certain fields when marshalling POJO's to <a shape="rect" 
href="json.html">JSON</a>. Available with both the Jackson and GSON 
library.</li><li>Allow to configure frequency of timeout checker when doing 
request/reply over <a shape="rect" href="jms.html">JMS</a></li><li>Improved the 
Java DSL to make it easier to use predicates from the build-in DSL, that has 
commonly used predicates and expressions.</li><li><a shape="rect" 
href="aggregator2.html">Aggregate</a> EIP now supports 
<code>TimeoutAwareAggregationStrategy</code> aggregation 
strategies.</li><li>The default <code>Injector</code> now performs bean post 
processing to inject @Produce, @Consume, @EndpointInject fields 
etc.</li><li>The <a shape="rect" href="camel-run-maven-goal.html">camel-run</a> 
maven plugin now supports running <a shape="rect" 
href="using-osgi-blueprint-with-camel.html">OSGi Blueprint 
applications</a>.</li><li>Added utilization statistics to the type converter 
registry (which can be accessed from
  <a shape="rect" href="camel-jmx.html">JMX</a>), and are logged as Camel is 
shutting down.</li><li>Improved <a shape="rect" href="camel-jmx.html">JMX</a> 
to work better with servers such as WebSphere which alters MBean names when 
enlisting mbeans into the server (Camel now have an internal mapping 
table).</li><li>All <a shape="rect" href="eip.html">EIP</a>s out of the box 
from Camel now provides <a shape="rect" href="camel-jmx.html">JMX</a> 
utilization statistics.</li><li>The <a shape="rect" href="file2.html">File</a> 
and <a shape="rect" href="ftp2.html">FTP</a> consumers will now let 
<code>org.apache.camel.spi.ExceptionHandler</code> deal with exceptions 
occurred during acquiring real lock as well. See <a shape="rect" 
href="file2.html">File</a> page for example of using a custom 
<code>ExceptionHandler</code>.</li><li>Reduce the logging level from ERROR to 
WARN on the default <code>LoggingExceptionHandler</code>.</li><li>Added option 
<code>consumer.bridgeErrorHandler</code> to allow
  consumers such as <a shape="rect" href="file2.html">File</a> and <a 
shape="rect" href="ftp2.html">FTP</a> to use the routing engine <a shape="rect" 
href="error-handler.html">Error Handler</a> to deal with exceptions occurring 
in the consumer (outside the routing engine), for example if having trouble 
picking up a file from a shared network drive etc. See more details at <a 
shape="rect" href="file2.html">File</a> page. This option applies to all 
consumers which extends the <code>DefaultConsumer</code> from 
<code>camel-core</code>.</li><li>Added <code>eagerMaxMessagesPerPoll</code> 
option to <a shape="rect" href="file2.html">File</a>, and <a shape="rect" 
href="ftp2.html">FTP</a> endpoints to allow to do a full sorting of the files 
and also limit the pool at the same time</li><li>The <a shape="rect" 
href="xslt.html">XSLT</a>, <a shape="rect" href="velocity.html">Velocity</a>, 
<a shape="rect" href="freemarker.html">FreeMarker</a>, and <a shape="rect" 
href="stringtemplate.html">StringTe
 mplate</a> components using http resource for the template now supports query 
parameters</li><li>You can specify the class type with <a shape="rect" 
href="bindy.html">Bindy</a> to make it stand out what type is being used, as 
well the <code>unmarshal</code> operation returns a list of the pojos (and the 
pojo directly if only 1). Which makes it easier to use/work with.</li><li>Added 
<code>group</code> option to <a shape="rect" 
href="tokenizer.html">Tokenizer</a> to make it easier with the <a shape="rect" 
href="splitter.html">Splitter</a> to split by combining N number of parts 
together, eg splitting files in chunks by N lines combined.</li><li>Camel is 
now compatible to the upcoming Karaf 3 release</li><li>Added 
<code>ExchangeSendingEvent</code> to <code>EventNotifier</code> to emit an 
event <strong>before</strong> sending an <a shape="rect" 
href="exchange.html">Exchange</a> to an <a shape="rect" 
href="endpoint.html">Endpoint</a>. Then we have events for both before and 
after.</li><l
 i>Relaxed syntax check in <a shape="rect" href="simple.html">Simple</a> 
language to only scan for functions if a start token was explicit configured. 
This allows to easier do json like expressions.</li><li>Added support for 
escaping values in <a shape="rect" href="simple.html">Simple</a> language using 
the \ character.</li><li>Added new <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a> for creating new 
<a shape="rect" href="component.html">Component</a> using Scala.</li><li>Added 
<code>trim</code> option to <a shape="rect" href="languages.html">Languages</a> 
in the XML DSL, to control trimming the expression values, to remove the 
whitespace noise from XML tags.</li><li>Improved the <a shape="rect" 
href="file2.html">File</a> consumer to support competing consumers on a shared 
drive to not pickup files from other consumers, as marker file is always used, 
for <code>readLock</code> strategies such as changed, rename and fileLock. For 
example if you have a clu
 stered environment and have multiple Camel applications pickup files from a 
shared drive with <code>readLock=changed</code>.</li><li>The <a shape="rect" 
href="file2.html">File</a> consumer with <code>readLock=changed</code> will now 
consider zero length file as in progress files.</li><li>Made it easier to <a 
shape="rect" href="using-propertyplaceholder.html">bridge Spring and Camel 
property placeholders</a>, by configuring only once, using a new 
<code>BridgePropertyPlaceholderConfigurer</code> bean type.</li><li>Improved 
the <a shape="rect" href="smpp.html">SMPP</a> component to refer to a 
<code>org.jsmpp.session.SessionStateListener</code> to receive callbacks when 
the session state changed.</li><li>Added connection pooling to <a shape="rect" 
href="jt400.html">JT400</a> component</li><li><a shape="rect" 
href="restlet.html">Restlet</a> component can be configured with Restlet Server 
parameters, for example to configure thread pool sizes.</li><li>CamelContext 
MBean in <a shape="rect"
  href="camel-jmx.html">JMX</a> now shows aggregated performance stats for all 
the routes</li><li>Made it easy to override properties when <a shape="rect" 
href="testing.html">Testing</a> with Camel when <a shape="rect" 
href="using-propertyplaceholder.html">Using PropertyPlaceholder</a>. For 
example unit testing with OSGi Blueprint using config admin service to provide 
properties, is now easy as you can provide the properties from directly within 
the unit test source code itself.</li><li>Improved <a shape="rect" 
href="netty.html">Netty</a> to support both shareable and non-shareable 
encoders and decoders.</li><li>Improved <a shape="rect" 
href="netty.html">Netty</a> to support proxy use cases (eg 
<code>from(netty).to(netty)</code>)</li><li>Added 
<code>CompletionAwareAggregationStrategy</code> to <a shape="rect" 
href="aggregator2.html">Aggregator</a> EIP as callback when the aggregated 
exchange is completed.</li><li>Scheduled <a shape="rect" 
href="polling-consumer.html">Polling Consumer
 </a> and poll based <a shape="rect" href="component.html">Component</a>s such 
as <a shape="rect" href="file2.html">File</a>, and <a shape="rect" 
href="ftp2.html">FTP</a> can now use a custom/shared thread pool for its 
consumer(s). For example having many file routes, can now share a thread pool, 
and reduce number of overall threads in the JVM.</li><li>Optimized <a 
shape="rect" href="bean.html">Bean</a> expressions to cache bean introspections 
so subsequent evaluations is faster.</li></ul><h3 
id="Camel2.10.0Release-Fixedissues">Fixed issues</h3><ul><li>Fixed memory leak 
when dynamically adding and removing many routes at runtime. See this <a 
shape="rect" 
href="memory-leak-when-adding-and-removing-routes-at-runtime.html">FAQ</a> for 
more information.</li><li>Fixed potential NPE in <a shape="rect" 
href="ftp2.html">FTP</a> consumer when using double slashes as starting 
directory.</li><li>Fixed <a shape="rect" 
href="intercept.html#Intercept-InterceptSendToEndpoint">InterceptSendToEndpoin
 t</a> when using <code>skipSendToEndpoint=true</code> with a <a shape="rect" 
href="predicate.html">when</a> predicate to only skip sending if the predicate 
was true.</li><li>Fixed an issue with <a shape="rect" 
href="bean-binding.html">Bean Binding</a> directly in a method name not working 
properly with method call expressions.</li><li>Fixed issue with using custom 
namespaces in <a shape="rect" href="xpath.html">XPath</a> expressions when 
using <a shape="rect" href="using-osgi-blueprint-with-camel.html">OSGi 
Blueprint</a></li><li>Fixed <a shape="rect" 
href="validation.html">Validation</a> to support <code>xs:import</code> in the 
schema files.</li><li>Fixed <a shape="rect" href="content-enricher.html">Poll 
Enrich</a> where the timeout was not explicitly configured to use blocking mode 
(was wrongly using non-blocking mode).</li><li>Fixed <a shape="rect" 
href="async.html">Threads EIP</a> to handle rejected policies, ensuring the <a 
shape="rect" href="exchange.html">Exchange</a> will fin
 ish the <code>UnitOfWork</code> and will be de-registered from the inflight 
registry.</li><li>Fixed <a shape="rect" href="delayer.html">Delayer</a> not 
working with a <a shape="rect" href="bean.html">Bean</a> expression to define 
the delay when using XML DSL</li><li>Fixed <a shape="rect" 
href="jms.html">JMS</a> consumer to no longer complain by default if no 
errorHandler is configured when an uncaught exception was thrown while 
processing a message.</li><li>Fixed the String trim issue in <a shape="rect" 
href="simple.html">Simple</a> expressions.</li><li>Fixed the issue with <a 
shape="rect" href="recipient-list.html">Recipient List</a> not triggering <a 
shape="rect" href="error-handler.html">Error Handler</a> for endpoints with non 
existing <a shape="rect" href="component.html">Component</a>s.</li><li>Fixed <a 
shape="rect" href="load-balancer.html">Load Balancer</a> to update statistics 
in <a shape="rect" href="camel-jmx.html">JMX</a></li><li>Fixed <a shape="rect" 
href="seda.html">SE
 DA</a> producer configured with <code>waitForTaskToComplete=Always</code> to 
not hand over on-completion tasks, which otherwise could be processed 
prematurely.</li><li>Fixed a potential issue with configuring custom start and 
end tokens for the <a shape="rect" href="simple.html">Simple</a> language when 
using Spring XML.</li><li>Fixed an issue with <a shape="rect" 
href="type-converter.html">Type Converter</a> where NaN values were converted 
to integers.</li><li>Fixed <a shape="rect" href="http.html">HTTP</a>, <a 
shape="rect" href="http4.html">HTTP4</a>, and <a shape="rect" 
href="jetty.html">Jetty</a> producers to send empty HTTP headers for <a 
shape="rect" href="exchange.html">Exchange</a> headers with an empty 
value.</li><li>Fixed an issue with configuring a custom thread pool profile on 
some <a shape="rect" href="eip.html">EIP</a>s.</li><li>Fixed an issue with <a 
shape="rect" href="intercept.html">Intercept</a> causing processors to not 
update their performance statistics in <a sh
 ape="rect" href="camel-jmx.html">JMX</a></li><li>Fixed using 
&lt;errorHandler&gt; with embedded &lt;redeliveryPolicy&gt; to support <a 
shape="rect" href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a></li><li>Fixed issue with using 
&lt;redeliveryPolicy&gt;, and &lt;redeliveryPolicyProfile&gt; with OSGi 
Blueprint.</li><li>Fixed failover <a shape="rect" 
href="load-balancer.html">Load Balancer</a> to perform defensive copy of the 
message before attempting failover, to ensure previous attempts do not 
propagate back into succeeding attempts.</li><li>Fixed issue when restarting 
application using <a shape="rect" href="quartz.html">Quartz</a> with a 
persistent (non clustered) job store, where the app was not shutdown cleanly 
(such as crashed)</li><li>Fixed issue when using consumer endpoints with <a 
shape="rect" href="using-propertyplaceholder.html">Property placeholders</a> 
not working with <a shape="rect" href="intercept.html">inteceptors</a> such as 
<code>interceptFrom</co
 de>.</li><li>Fixed issue with suspend/resume a <a shape="rect" 
href="timer.html">Timer</a> consumer, not causing timer task to stop 
firing.</li><li>Fixed <a shape="rect" href="netty.html">Netty</a> producer to 
re-use existing connections when sending. This avoid re-creating a new 
connection for every message being sent.</li><li>Fixed issue with <a 
shape="rect" href="simple.html">Simple</a> invoking overloaded methods using 
OGNL notation, where method name was explicitly declared to invoke the 
no-parameter method</li><li>Fixed continued and handled <a shape="rect" 
href="predicate.html">Predicates</a> of <a shape="rect" 
href="exception-clause.html">OnException</a> to be evaluated once per 
exception, instead of twice.</li><li>Fixed <a shape="rect" 
href="throttler.html">Throttler</a> and <a shape="rect" 
href="delayer.html">Delayer</a> EIPs when evaluating of max/delay expression 
fails at runtime, not causing error handling to react.</li><li>Fixed <a 
shape="rect" href="mail.html">Mail</a
 > message with attachments may appear to be lost when <a shape="rect" 
 > href="error-handler.html">Error Handler</a> performs 2+ redelivery 
 > attempts.</li><li>Fixed issue with a failed type conversion using <a 
 > shape="rect" href="jaxb.html">JAXB</a> may cause subsequent attempts to be 
 > regarded as failed as well</li><li>Fixed method call <a shape="rect" 
 > href="expression.html">Expression</a> to preserve headers and <a 
 > shape="rect" href="exchange.html">Exchange</a> properties, which allow to 
 > use it for storing state with the <a shape="rect" 
 > href="dynamic-router.html">Dynamic Router</a> EIP</li><li>Fixed locale issue 
 > with configuring endpoints using uris, such as Turkish with the lower/upper 
 > case of the letter i.</li><li>Fixed issue reading and writing files when a 
 > <code>charset</code> was configured on the file endpoint.</li><li>Fixed 
 > issue with <code>convertBodyTo</code> not working internally as 
 > <code>transform</code> and <code>setBody</code>, by resetting the message 
 > type to <code>Defaul
 tMessage</code>.</li><li>Fixed issue with <a shape="rect" 
href="loop.html">Loop</a> using <code>copy</code> and an exception 
occurred</li><li>Fixed so <a shape="rect" href="file2.html">File</a> consumer 
using done file name, will not automatic delete the done file if 
<code>noop=true</code> is configured.</li><li>Fixed issue with <a shape="rect" 
href="servlet.html">SERVLET</a> may send back incorrect content length for data 
with unicode characters outside the normal ASCII range.</li><li>Fixed <a 
shape="rect" href="jetty.html">Jetty</a> http producer (client) may corrupt 
streams if used in a bridge mode (eg like a proxy)</li><li>Fixed <a 
shape="rect" href="jetty.html">Jetty</a> http consumer (server) may corrupt 
streams if chunked was disabled</li><li>Fixed issue with 
<code>camel-blueprint</code> and using <code>CamelContextAware</code> beans for 
<code>EventNotifier</code> (and the beans from this <a shape="rect" 
href="advanced-configuration-of-camelcontext-using-spring.html">list</a>
 ) injecting the <code>CamelContext</code> which is not ready, causing the 
blueprint container to hang waiting for the service.</li><li>Fixed <a 
shape="rect" href="bindy.html">Bindy</a> to not use default locale, but only 
use locale if explicit configured.</li><li>Fixed <a shape="rect" 
href="restlet.html">Restlet</a> not propagating headers during 
routing.</li><li>Fixed running multiple Camel apps with same CamelContext name 
in a single JVM with <a shape="rect" href="quartz.html">Quartz</a> component, 
causing jobs to pick wrong CamelContext.</li><li>Fixed URI normalization to 
support % sign itself, by specifying the % sign using its encoded value (eg 
%25).</li><li>Fixed <a shape="rect" href="jms.html">JMS</a> producer to trigger 
Camel error handling if destination resolution failed due to an 
exception.</li><li>Fixed <a shape="rect" href="error-handler.html">Error 
Handler</a> with async redelivery to use shared thread pool per CamelContext, 
instead of per JVM</li><li>Fixed issue with 
 added headers, using <code>setHeader</code> may be lost if a <a shape="rect" 
href="jms.html">JMS</a> route uses the <a shape="rect" 
href="dynamic-router.html">Dynamic Router</a> EIP</li></ul><h3 
id="Camel2.10.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.10.0Release-NewCamelKarafCommand">New Camel 
Karaf Command</h3><ul><li>Add camel:endpoint-list to list all Camel endpoints 
available in Camel Context deployed on Karaf/ServiceMix</li></ul><h3 
id="Camel2.10.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li><code><a shape="rect" 
href="avro.html">camel-avro</a></code> - for <a shape="rect" 
class="external-link" href="http://avro.apache.org/";>Apache Avro</a> 
integration</li><li><code><a shape="rect" href="aws.html">camel-aws</a></code> 
- for <a shape="rect" class="external-link" 
href="http://aws.amazon.com/dynamodb/"; rel="nofollow">DynamoDB</a> integration 
within <a 
 shape="rect" class="external-link" href="http://aws.amazon.com/"; 
rel="nofollow">Amazon Web Services</a></li><li><code><a shape="rect" 
href="beanio.html">camel-beanio</a></code> - <a shape="rect" 
href="data-format.html">Data Format</a> to map objects to flat structured 
format</li><li><code><a shape="rect" href="cdi.html">camel-cdi</a></code> - to 
deploy Apache Camel in CDI container with Dependency Injection (JSR299, 
330)</li><li><code>camel-core</code> - new support for "<a shape="rect" 
href="stub.html">stubbing</a>" endpoints, for development and testing 
purposes</li><li><code>camel-core</code> - new <a shape="rect" 
href="direct-vm.html">direct-vm</a> for synchronous messaging between different 
CamelContext in the same JVM (for example to support transactions, across 
CamelContexts).</li><li><code><a shape="rect" 
href="fop.html">camel-fop</a></code> - to render messages into different 
outputs using <a shape="rect" href="fop.html">Apache FOP</a></li><li><code><a 
shape="rect" href="js
 on.html">camel-gson</a></code> - provides a <a shape="rect" 
class="external-link" href="http://www.json.org/"; rel="nofollow">JSON</a> data 
format using the <a shape="rect" class="external-link" 
href="http://code.google.com/p/google-gson/"; rel="nofollow">Google GSON 
project</a></li><li><code><a shape="rect" 
href="guava-eventbus.html">camel-guava-eventbus</a></code> - provides a 
integration bridge between Camel and <a shape="rect" class="external-link" 
href="http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/package-summary.html";
 rel="nofollow">Google Guava EventBus</a> infrastructure.</li><li><code><a 
shape="rect" href="hbase.html">camel-hbase</a></code> - provides integration 
with <a shape="rect" class="external-link" 
href="http://hbase.apache.org/";>HBase</a></li><li><code><a shape="rect" 
href="jsch.html">camel-jsch</a></code> - Secure Copy using <a shape="rect" 
class="external-link" href="http://www.jcraft.com/jsch/"; 
rel="nofollow">JSCH</a></li><li><c
 ode>camel-mina2</code> - <code>camel-mina2</code> is expected to be refactored 
in Camel 2.11, so use on own risk of having to migrate.</li><li><code><a 
shape="rect" href="mongodb.html">camel-mongodb</a></code> - for <a shape="rect" 
class="external-link" href="http://www.mongodb.org/"; rel="nofollow">MongoDB</a> 
integration</li><li><code><a shape="rect" 
href="springbatch.html">camel-spring-batch</a></code> - For using Spring Batch 
with Camel.</li><li><code><a shape="rect" href="ssh.html">camel-ssh</a></code> 
- For executing commands on an <a shape="rect" class="external-link" 
href="http://en.wikipedia.org/wiki/SSH"; rel="nofollow">SSH</a> <a shape="rect" 
class="external-link" 
href="http://en.wikipedia.org/wiki/Comparison_of_SSH_servers"; 
rel="nofollow">server</a></li><li><code><a shape="rect" 
href="blueprint-testing.html">camel-test-blueprint</a></code> - for testing 
Blueprint routes</li><li><code><a shape="rect" 
href="spring-testing.html">camel-test-spring</a></code> - for testing Spri
 ng routes</li><li><code><a shape="rect" 
href="twitter.html">camel-twitter</a></code> - for <a shape="rect" 
class="external-link" href="http://www.twitter.com/"; rel="nofollow">Twitter</a> 
integration</li><li><code><a shape="rect" 
href="websocket.html">camel-websocket</a></code> - for <a shape="rect" 
class="external-link" href="http://www.websocket.org/"; 
rel="nofollow">WebSocket</a> integration</li></ul><h3 
id="Camel2.10.0Release-DSLChanges">DSL Changes</h3><h3 
id="Camel2.10.0Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.10.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><ul><li><code><a shape="rect" 
href="avro.html">camel-avro</a></code> - for <a shape="rect" 
class="external-link" href="http://avro.apache.org/";>Apache Avro</a> 
integration</li><li><code><a shape="rect" 
href="beanio.html">camel-beanio</a></code> - for mapping objects to flat 
structured format</li><li><code><a shape="rect" 
href="json.html">camel-gson</a></code> - pr
 ovides a <a shape="rect" class="external-link" href="http://www.json.org/"; 
rel="nofollow">JSON</a> data format using the <a shape="rect" 
class="external-link" href="http://code.google.com/p/google-gson/"; 
rel="nofollow">Google GSON project</a></li></ul><h3 
id="Camel2.10.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.10.0Release-New.3">New 
<a shape="rect" 
href="examples.html">Examples</a></h3><ul><li><code>camel-example-ssh</code></li><li><code><a
 shape="rect" 
href="twitter-websocket-example.html">camel-example-twitter-websocket</a></code>
 - shows how to use Twitter to push live tweet updates to a webpage with 
Websocket</li><li><code><a shape="rect" 
href="console-example.html">camel-example-console</a></code> - a new beginner 
example that shows how to read input from the console</li></ul><h3 
id="Camel2.10.0Release-New.4">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.10.0Release-APIchanges/breaking">API changes/br
 eaking</h2><ul><li>Added <code>shutdownForced</code> and 
<code>forceShutdown</code> methods to 
<code>org.apache.camel.spi.ShutdownStrategy</code></li><li>Add boolean 
parameter to <code>prepareShutdown</code> on 
<code>ShutdownAware</code></li><li>The <code>errorHandler</code> method in 
<code>RouteBuilder</code> now returns <code>void</code>, as it's only used for 
configuring context-scoped error handlers.</li><li>Removed the 
<code>SimpleLanguage</code> constructor that takes custom start and end tokens. 
Instead use the change methods to set custom tokens.</li><li>Added 
<code>onThreadPoolRemove</code> and <code>onErrorHandlerRemove</code> methods 
to <code>LifecycleStrategy</code></li><li>Removed 
<code>retryWhile(Expression)</code> on <code>OnExceptionDefinition</code>; use 
<code>retryWhile(Predicate)</code>.</li><li>Removed options 
<code>corePoolSize</code> and <code>maxPoolSize</code> on <a shape="rect" 
href="netty.html">Netty</a> endpoint, as we rely on Netty default 
implementation.
 </li><li>The <code>resourceClasses</code> option on <a shape="rect" 
href="cxfrs.html">CXFRS</a> no longer supports the semicolon (<img 
class="emoticon emoticon-wink" 
src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/wink.png";
 data-emoticon-name="wink" alt="(wink)"> for separating class names. Now only 
the comma (,) is supported (which is the standard in Camel)</li><li>Added 
<code>tryConvertTo</code> methods to <code>TypeConverter</code>, which works as 
the regular <code>convertTo</code> methods, by ignoring any exceptions during 
conversion.</li><li>The <code>convertTo</code> methods on 
<code>TypeConverter</code> now throws <code>TypeConversionException</code> if 
an exception occurred during type conversion.</li><li>The 
<code>getBody(type)</code>, and <code>getHeader(name, type</code> methods on 
<code>Message</code> now throws <code>TypeConversionException</code> if an 
exception occurred during type conversion.</
 li><li>The <a shape="rect" href="simple.html">Simple</a> language no longer 
trim the expression in Java DSL. Instead we introduced a <code>trim</code> 
option in the XML DSL to remove the white space noise from XML 
tags.</li><li>Added <code>containsSynchronization</code> to 
<code>UnitOfWork</code> and <code>Exchange</code> to check if a given on 
completion has already been added to the given exchange.</li></ul><h2 
id="Camel2.10.0Release-Internal/NonAPIrefactoringsthatmayaffectusers">Internal/Non
 API refactorings that may affect users</h2><ul><li>Removed method 
<code>setManagementName</code> from <code>CamelContext</code> as it should not 
be used by Camel end users</li><li>Added method 
<code>isTransactedRedelivered</code> to <a shape="rect" 
href="exchange.html">Exchange</a></li><li>Added method <code>isDirectory</code> 
to <code>GenericFile</code></li><li>API changed in the 
<code>ClientPipelineFactory</code> and <code>ServerPipelineFactory</code> 
abstract classes in <a shape="rect" hre
 f="netty.html">Netty</a></li><li>Added <code>getStatistics</code> method to 
<code>TypeConverterRegistry</code>, and the registry now extends 
<code>Service</code> as well.</li><li>The <code>convertBodyTo</code> with a 
charset configured, will not propagate the charset as an Exchange property 
(<code>Exchange.CHARSET_NAME</code>), which otherwise may lead to payload being 
double converted.</li><li>Added <code>abort</code> method to 
<code>GenericFileProcessStrategy</code>.</li><li><code>camel-mail</code> now 
excludes dependency on javax activation JAR as thats embedded in the JVM from 
JRE6 onwards.</li><li>URI normalization will now better detect <a shape="rect" 
class="external-link" href="http://en.wikipedia.org/wiki/Url_encode"; 
rel="nofollow">pre existing % decimal encoded values</a>.</li></ul><h2 
id="Camel2.10.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>onComp
 letion</code> or <code>intercept</code>, etc.</li><li>The project cannot fully 
build the site using Maven (e.g. running <code>"mvn site"</code>). There is no 
plan to fix this, as the project does not use maven site.</li><li>JBoss 7 may 
log a WARNing when running Camel as a WAR file.</li><li>camel-spring-test 
bundle has the classes from camel-test, if you are using camel-spring-test in 
OSGi platform, please don't install the camel-test at the same time.</li><li><a 
shape="rect" href="cxf-example-osgi.html">CXF Example OSGi</a> doesn't work 
without enabling dynamic imports for this bundle.</li></ul><h2 
id="Camel2.10.0Release-DependencyUpgrades">Dependency Upgrades</h2><ul><li>AHC 
1.6.5 to 1.7.5</li><li>AWS 1.2.2 to 1.3.10</li><li>Commons-codec 1.4 to 
1.6</li><li>Commons-net 2.2 to 3.1.0</li><li>CXF 2.5.1 to 2.6.1</li><li>EHCache 
2.4.3 to 2.5.1</li><li>Freemarker 2.3.18 to 2.3.19</li><li>Google App Engine 
1.5.0 to 1.6.6</li><li>Groovy 1.8.5 to 1.8.6</li><li>Hadoop 0.20.203.0 to 
1.0.3</l
 i><li>HTTP4 core 4.1.2 to 4.1.4</li><li>HTTP4 client 4.1.2 to 
4.1.3</li><li>Hazelcast 1.9.4.4 to 2.0.2</li><li>Hawtbuf 1.7 to 
1.9</li><li>Jackson 1.9.2 to 1.9.7</li><li>Jackrabbit 2.2.4 to 
2.2.11</li><li>Jasypt 1.7 to 1.9.0</li><li>Javax Mail 1.4.4. to 
1.4.5</li><li>Jersey 1.10 to 1.12</li><li>JClouds 1.3.1 to 
1.4.0</li><li>Jettison 1.3 to 1.3.1</li><li>Jetty 7.5.3 to 7.5.4</li><li>JRuby 
1.6.6 to 1.6.7</li><li>JSCH 0.1.44 to 0.1.48</li><li>JuEL 2.1.3 to 
2.1.4</li><li>Kratti 0.4.1 to 0.4.5</li><li>Logback 1.0.0 to 
1.0.6</li><li>Lucene 3.0.3 to 3.6.0</li><li>MyBatis 3.0.6 to 
3.1.1</li><li>Netty 3.2.6 to 3.5.1</li><li>OGNL 3.0.2 to 3.0.4</li><li>QPid 
0.12 to 0.16</li><li>QuickFIX/J 1.5.1 to 1.5.2</li><li>Resetlet 2.0.10 to 
2.0.14</li><li>SNMP 1.8.1 to 1.10.1</li><li>Solr 3.5.0 to 3.6.0</li><li>Shiro 
1.1.0 to 1.2.0</li><li>Stringtemplate 3.0 to 3.2.1</li><li>Spring 3.0.6 to 
3.0.7/3.1.1</li><li>Spring Integration 2.0.5 to 2.1.2</li><li>Spring Security 
3.0.7 to 3.1.0</li><li>Spymemcached 
 2.5 to 2.8.0</li><li>Tagsoup 1.2 to 1.2.1</li><li>Woodstox 4.1.1 to 
4.1.2</li><li>XStream 1.4.1 to 1.4.2</li><li>XML Security 1.4.5 to 
1.5.1</li></ul><h2 
id="Camel2.10.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Moved <a shape="rect" 
href="spring-testing.html">Spring Testing</a> from <code>camel-test</code> to 
<code>camel-test-spring</code> component.</li><li>Combination of 
<code>skipSendToEndpoint=true</code> and <code>when</code> predicate now 
triggers conditional skipping (you may have been relying on unconditional 
skipping up until now)</li><li>The thread name pattern has changed tokens to 
avoid clashing with <a shape="rect" href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a> (see <a shape="rect" 
href="threading-model.html">Threading Model</a> for more details).</li><li><a 
shape="rect" href="content-enricher.html">Poll Enrich</a> will now block if no 
messages are available and no explicit timeout has 
 been configured.</li><li>The option <code>lazyLoadTypeConverter=true</code> 
has been deprecated, and will be removed in a future release. The best practice 
is to load type converters while bootstrapping Camel.</li><li>The <a 
shape="rect" href="testing.html">Camel Test kit</a> no longer lazily loads type 
converters.</li><li>Keys for <a shape="rect" href="mdc-logging.html">MDC 
logging</a> have been prefixed with <code>"camel."</code>.</li><li><a 
shape="rect" href="wire-tap.html">Wire Tap</a> can no longer change destination 
from <a shape="rect" href="camel-jmx.html">JMX</a></li><li>Camel now fail 
faster during type conversion, by throwing <code>TypeConversionException</code> 
to the caller, from APIs such as <code>TypeConverter</code> and 
<code>Message</code>. For example <code>getBody(type)</code> on the 
<code>Message</code> API.</li><li>Camel no longer supports using 
<code>java.beans.PropertyEditor</code> for type conversion. These are slow, 
neither thread safe, and using 3rd party J
 ARs on the classpath may cause side effect as if they install 
<code>java.beans.PropertyEditor</code>.</li><li>Use the <code>charset</code> 
option on the <a shape="rect" href="file2.html">File</a> component to explicit 
specify encoding for reading and writing files.</li><li>Maven 3.0.2 or better 
is required to build the <a shape="rect" 
href="source.html">Source</a></li></ul><h2 
id="Camel2.10.0Release-Notice">Notice</h2><ul><li>If you want to deploy Apache 
Camel 2.10.0 into Apache Karaf, we highly recommend to use the 
'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5 
onwards. For example <code>camel-cxf</code>, and <code>camel-spring-ws</code> 
requires this to be installable; as well other features may as 
well.</li><li>Support for JUnit 3.x in the Camel <a shape="rect" 
href="testing.html">Test</a>s components is being discontinued and expected to 
be removed from Camel 2.11 onwards.</li></ul><h2 
id="Camel2.10.0Release-GettingtheDistributions">Getting the Distribut
 ions</h2><h3 id="Camel2.10.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.10.0/apache-camel-2.10.0.zip";>apache-camel-2.10.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.10.0/apache-camel-2.10.0.zip.asc";>apache-camel-2.10.0.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distrib
 ution</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.10.0/apache-camel-2.10.0.tar.gz";>apache-camel-2.10.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.10.0/apache-camel-2.10.0.tar.gz.asc";>apache-camel-2.10.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 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.10.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.10.0/apache-camel-2.10.0-src.zip";>apache-camel-2.10.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/apach
 
e-camel/2.10.0/apache-camel-2.10.0-src.zip.asc">apache-camel-2.10.0-src.zip.asc</a></p></td></tr></tbody></table></div></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to