camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Camel > Camel 2.10.0 Release
Date Tue, 01 May 2012 13:48:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.10.0+Release">Camel
2.10.0 Release</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~davsclaus">Claus
Ibsen</a>
    </h4>
        <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* The [XSLT], [Velocity], [Freemarker],
and [StringTemplate] components using http resource for the template now supports query parameters
<br>* You can specify the class type with [Bindy] to make it stand out what type is
being used, as well the {{unmarshal}} operation returns a list of the pojos (and the pojo
directly if only 1). Which makes it easier to use/work with. <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Added {{group}} option to [Tokenizer] to make it easier with the [Splitter] to split by combining
N number of parts together, eg splitting files in chunks by N lines combined. <br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Camel2.10.0Release-Camel2.10.0release%28currentlyinprogress%29"></a>Camel
2.10.0 release (currently in progress)</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><a name="Camel2.10.0Release-NewandNoteworthy"></a>New and Noteworthy</h2>

<p>Welcome to the 2.10.0 release with approximately XXX issues resolved - including
new features, improvements, and bug fixes, such as: </p>

<ul>
	<li>Internal code cleanup to reduce warnings reported by Eclipse</li>
	<li>Moved <a href="/confluence/display/CAMEL/Spring+Testing" title="Spring Testing">Spring
Testing</a> from <tt>camel-test</tt> to <tt>camel-test-spring</tt>
component.</li>
	<li>Camel <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using
PropertyPlaceholder">Property Placeholders</a> are now supported in embedded <a
href="/confluence/display/CAMEL/Expression" title="Expression">Expression</a>s within
Camel routes.</li>
	<li>Added missing options in the XML DSL for the <a href="/confluence/display/CAMEL/XPath"
title="XPath">XPath</a> language to control and set which XPath Engine to use, etc.</li>
	<li>Added option <tt>logNamespaces</tt> to the <a href="/confluence/display/CAMEL/XPath"
title="XPath">XPath</a> language to have <tt>INFO</tt> logging of detected
namespaces from message.  This can be used to troubleshoot issues where an <a href="/confluence/display/CAMEL/XPath"
title="XPath">XPath</a> expression doesn't work as expected (as it's often a namespace
conflict).</li>
	<li>Added <tt>replyToCacheLevelName</tt> option to the <a href="/confluence/display/CAMEL/JMS"
title="JMS">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 <tt>CACHE_NONE</tt>.</li>
	<li>Added <tt>antInclude</tt> and <tt>antExclude</tt> options
to <a href="/confluence/display/CAMEL/File2" title="File2">File</a> and <a
href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> components to make it
easier to specify include/exclude filters using ANT syntax.</li>
	<li>The <a href="/confluence/display/CAMEL/Camel+Maven+Archetypes" title="Camel
Maven Archetypes">Camel archetypes</a> for Java and Scala no longer generate projects
with Spring dependencies.</li>
	<li>Improved <tt>JdbcMessageIdRepository</tt> in the <a href="/confluence/display/CAMEL/SQL+Component"
title="SQL Component">SQL</a> to use custom SQL statements/queries.</li>
	<li>Added option to <a href="/confluence/display/CAMEL/Properties" title="Properties">Properties</a>
to allow silently ignoring property locations not found, such as a .properties file.</li>
	<li>Added <tt>managementNamePattern</tt> attribute to <tt>&lt;camelContext&gt;</tt>
to make it very easy to customize and control the JMX naming of the Camel application. See
details at <a href="/confluence/display/CAMEL/Camel+JMX#CamelJMX-CamelJMXManagementNamingStrategy">Camel
JMX</a>. For example, in OSGi environments you can explicitly configure a <tt>managementNamePattern</tt>
in case you do not want the bundleId as part of MBean names.</li>
	<li>Added streaming update support to <a href="/confluence/display/CAMEL/Solr" title="Solr">Solr</a>
as well as support for SolrInputDocuments</li>
	<li>Added SolrJ DirectXMLRequest support to <a href="/confluence/display/CAMEL/Solr"
title="Solr">Solr</a> to support XML based index updates</li>
	<li>Improved Camel <a href="/confluence/display/CAMEL/Mail" title="Mail">Mail</a>
to support the <tt>replyTo</tt> option</li>
	<li>Added <tt>traceEnabled</tt> option to <a href="/confluence/display/CAMEL/Jetty"
title="Jetty">Jetty</a> component so you have control over whether to allow HTTP
TRACE calls against your Jetty endpoints.</li>
	<li>Polished the <a href="/confluence/display/CAMEL/Camel+Maven+Archetypes" title="Camel
Maven Archetypes">Camel Maven Archetypes</a> to let the projects be prepared for
<a href="/confluence/display/CAMEL/Testing" title="Testing">Testing</a>, and fixed
any WARNs from Maven.</li>
	<li>Added <tt>dumpRouteStatsAsXml</tt> methods to <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a> to make it easier to get the total performance stats as
XML, and in one JMX call.</li>
	<li><a href="/confluence/display/CAMEL/Graceful+Shutdown" title="Graceful Shutdown">Graceful
Shutdown</a> is now more aggressive if timeout occurred during shutdown, rejecting continued
processing of messages or redeliveries.</li>
	<li>Add <tt>ShutdownPrepared</tt> SPI to allow custom Services (also EIPs)
in routes to do custom code in preparation for shutdown.</li>
	<li>The <tt>camel-archetype-java</tt> <a href="/confluence/display/CAMEL/Camel+Maven+Archetypes"
title="Camel Maven Archetypes">Camel Maven Archetypes</a> is now a pure Java DSL
based project (no longer Spring)</li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> consumer
is less verbose when logging uncaught exceptions thrown while processing a message. Added
<tt>errorHandlerLoggingLevel</tt>, and <tt>errorHandlerLogStackTrace</tt>
options to tweak the logging verbosity.</li>
	<li>Added <tt>messageId</tt> as an <a href="/confluence/display/CAMEL/MDC+logging"
title="MDC logging">MDC logging</a> key.</li>
	<li>Improved Camel's Transaction <a href="/confluence/display/CAMEL/Error+Handler"
title="Error Handler">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 href="/confluence/display/CAMEL/Spring+Web+Services"
title="Spring Web Services">Spring Web Services</a> for specifying the read timeout
while invoking a webservice.</li>
	<li>Optimized <a href="/confluence/display/CAMEL/Type+Converter" title="Type Converter">Type
Converter</a> registry for possible concurrency contention when looking up a type converter.</li>
	<li>Improved <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
language to work better with floating point numbers in <a href="/confluence/display/CAMEL/Predicate"
title="Predicate">Predicate</a>s</li>
	<li>Camel is now less verbose when starting and stopping, with less being logged at
<tt>INFO</tt> level.</li>
	<li>Add support for keyed data queues to <a href="/confluence/display/CAMEL/JT400"
title="JT400">JT400</a> component.</li>
	<li><a href="/confluence/display/CAMEL/Idempotent+Consumer" title="Idempotent Consumer">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 href="/confluence/display/CAMEL/Camel+JMX" title="Camel
JMX">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 eagerly, such as when routes are removed at runtime.</li>
	<li>Camel will now also copy the message headers for a <tt>JmsMessage</tt>
if you leverage <tt>useOriginalMessage</tt> in an <tt>onException</tt>
definition.</li>
	<li>Added <tt>mockEndpointsAndSkip</tt> to <a href="/confluence/display/CAMEL/AdviceWith"
title="AdviceWith">AdviceWith</a> and the <a href="/confluence/display/CAMEL/Testing"
title="Testing">Test Kit</a></li>
	<li>The <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> components now
support filtering directories. The <tt>isDirectory</tt> method on the <tt>GenericFile</tt>
class can be used to skip unwanted directories, accelerating file consumption.</li>
	<li><a href="/confluence/display/CAMEL/SMPP" title="SMPP">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 href="/confluence/display/CAMEL/Endpoint"
title="Endpoint">Endpoint</a>. Previously this check only occurred during Camel startup
- now it always happens.</li>
	<li>Stopping a <tt>ConsumerTemplate</tt> or a <tt>ProducerTemplate</tt>
will now stop and shutdown its cache to cleanup any resources which otherwise may not have
been reclaimed until shutdown.</li>
	<li><a href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html"
class="external-link" rel="nofollow">ScheduledPollConsumer</a> will now shutdown
thread pools more eagerly, such as when stopping a <tt>ConsumerTemplate</tt>.</li>
	<li>Added option <tt>asyncStartListener</tt> to <a href="/confluence/display/CAMEL/JMS"
title="JMS">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 href="/confluence/display/CAMEL/Wire+Tap" title="Wire Tap">Wire Tap</a>
now supports <a href="/confluence/display/CAMEL/Error+handling+in+Camel" title="Error handling
in Camel">Error Handling</a> when sending a tapped message to an <a href="/confluence/display/CAMEL/Endpoint"
title="Endpoint">Endpoint</a>.</li>
	<li>Added the autogenColumns, configRef and strategyRef options to the <a href="/confluence/display/CAMEL/CSV"
title="CSV">CSV</a> dataformat in XML DSL whereas the new skipFirstLine option is
provided in Java API as well.</li>
	<li><a href="/confluence/display/CAMEL/Validation" title="Validation">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 href="/confluence/display/CAMEL/JDBC"
title="JDBC">JDBC</a> component.</li>
	<li>Added support for Spring 3.1.x.</li>
	<li>Added <tt>retainFirst</tt>, and <tt>retainLast</tt> options
to <a href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a> component.</li>
	<li>Improved <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
language to allow referring to headers using bracket notation.</li>
	<li>Added support for the scp: protocol via <a href="/confluence/display/CAMEL/Jsch"
title="Jsch">Jsch</a>.</li>
	<li>Added support to exclude certain fields when marshalling POJO's to <a href="/confluence/display/CAMEL/JSON"
title="JSON">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
href="/confluence/display/CAMEL/JMS" title="JMS">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 href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
EIP now supports <tt>TimeoutAwareAggregationStrategy</tt> aggregation strategies.</li>
	<li>The default <tt>Injector</tt> now performs bean post processing to
inject @Produce, @Consume, @EndpointInject fields etc.</li>
	<li>The <a href="/confluence/display/CAMEL/Camel+Run+Maven+Goal" title="Camel Run
Maven Goal">camel-run</a> maven plugin now supports running <a href="/confluence/display/CAMEL/Using+OSGi+blueprint+with+Camel"
title="Using OSGi blueprint with Camel">OSGi Blueprint applications</a>.</li>
	<li>Added utilization statistics to type converter registry which can be access from
<a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">JMX</a> and is
logged when Camel is shutting down.</li>
	<li>Improved <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">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 href="/confluence/display/CAMEL/EIP" title="EIP">EIP</a>s out
of the box from Camel now provides <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel
JMX">JMX</a> utilization statistics.</li>
	<li>The <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> consumers will
now let <tt>org.apache.camel.spi.ExceptionHandler</tt> deal with exceptions occurred
during acquiring real lock as well. See <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
page for example of using a custom <tt>ExceptionHandler</tt>.</li>
	<li>Reduce the logging level from ERROR to WARN on the default <tt>LoggingExceptionHandler</tt>.</li>
	<li>Added option <tt>consumer.bridgeErrorHandler</tt> to allow consumers
such as <a href="/confluence/display/CAMEL/File2" title="File2">File</a> and <a
href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> to use the routing engine
<a href="/confluence/display/CAMEL/Error+Handler" title="Error Handler">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
href="/confluence/display/CAMEL/File2" title="File2">File</a> page. This option applies
to all consumers which extends the <tt>DefaultConsumer</tt> from <tt>camel-core</tt>.</li>
	<li>Added <tt>eagerMaxMessagesPerPoll</tt> option to <a href="/confluence/display/CAMEL/File2"
title="File2">File</a>, and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">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 href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a>,
<a href="/confluence/display/CAMEL/Velocity" title="Velocity">Velocity</a>, <a
href="/confluence/display/CAMEL/FreeMarker" title="FreeMarker">FreeMarker</a>, and
<a href="/confluence/display/CAMEL/StringTemplate" title="StringTemplate">StringTemplate</a>
components using http resource for the template now supports query parameters</li>
	<li>You can specify the class type with <a href="/confluence/display/CAMEL/Bindy"
title="Bindy">Bindy</a> to make it stand out what type is being used, as well the
<tt>unmarshal</tt> 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 <tt>group</tt> option to <a href="/confluence/display/CAMEL/Tokenizer"
title="Tokenizer">Tokenizer</a> to make it easier with the <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a> to split by combining N number of parts together, eg
splitting files in chunks by N lines combined.</li>
</ul>



<h3><a name="Camel2.10.0Release-Fixedissues"></a>Fixed issues</h3>

<ul>
	<li>Fixed memory leak when dynamically adding and removing many routes at runtime.
See this <a href="/confluence/display/CAMEL/Memory+leak+when+adding+and+removing+routes+at+runtime"
title="Memory leak when adding and removing routes at runtime">FAQ</a> for more information.</li>
	<li>Fixed potential NPE in <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a>
consumer when using double slashes as starting directory.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Intercept#Intercept-InterceptSendToEndpoint">InterceptSendToEndpoint</a>
when using <tt>skipSendToEndpoint=true</tt> with a <a href="/confluence/display/CAMEL/Predicate"
title="Predicate">when</a> predicate to only skip sending if the predicate was true.</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/Bean+Binding" title="Bean
Binding">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 href="/confluence/display/CAMEL/XPath"
title="XPath">XPath</a> expressions when using <a href="/confluence/display/CAMEL/Using+OSGi+blueprint+with+Camel"
title="Using OSGi blueprint with Camel">OSGi Blueprint</a></li>
	<li>Fixed <a href="/confluence/display/CAMEL/Validation" title="Validation">Validation</a>
to support <tt>xs:import</tt> in the schema files.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Content+Enricher" title="Content Enricher">Poll
Enrich</a> where the timeout was not explicitly configured to use blocking mode (was
wrongly using non-blocking mode).</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Async" title="Async">Threads EIP</a>
to handle rejected policies, ensuring the <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> will finish the <tt>UnitOfWork</tt> and
will be de-registered from the inflight registry.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Delayer" title="Delayer">Delayer</a>
not working with a <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>
expression to define the delay when using XML DSL</li>
	<li>Fixed <a href="/confluence/display/CAMEL/JMS" title="JMS">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 href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
expressions.</li>
	<li>Fixed the issue with <a href="/confluence/display/CAMEL/Recipient+List" title="Recipient
List">Recipient List</a> not triggering <a href="/confluence/display/CAMEL/Error+Handler"
title="Error Handler">Error Handler</a> for endpoints with non existing <a href="/confluence/display/CAMEL/Component"
title="Component">Component</a>s.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Load+Balancer" title="Load Balancer">Load
Balancer</a> to update statistics in <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a></li>
	<li>Fixed <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a>
producer configured with <tt>waitForTaskToComplete=Always</tt> 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
href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a> language when using
Spring XML.</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/Type+Converter" title="Type
Converter">Type Converter</a> where NaN values were converted to integers.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>,
<a href="/confluence/display/CAMEL/HTTP4" title="HTTP4">HTTP4</a>, and <a href="/confluence/display/CAMEL/Jetty"
title="Jetty">Jetty</a> producers to send empty HTTP headers for <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> headers with an empty value.</li>
	<li>Fixed an issue with configuring a custom thread pool profile on some <a href="/confluence/display/CAMEL/EIP"
title="EIP">EIP</a>s.</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/Intercept" title="Intercept">Intercept</a>
causing processors to not update their performance statistics in <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a></li>
	<li>Fixed using &lt;errorHandler&gt; with embedded &lt;redeliveryPolicy&gt;
to support <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Using
PropertyPlaceholder</a></li>
	<li>Fixed issue with using &lt;redeliveryPolicy&gt;, and &lt;redeliveryPolicyProfile&gt;
with OSGi Blueprint.</li>
	<li>Fixed failover <a href="/confluence/display/CAMEL/Load+Balancer" title="Load
Balancer">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 href="/confluence/display/CAMEL/Quartz"
title="Quartz">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 href="/confluence/display/CAMEL/Using+PropertyPlaceholder"
title="Using PropertyPlaceholder">Property placeholders</a> not working with <a
href="/confluence/display/CAMEL/Intercept" title="Intercept">inteceptors</a> such
as <tt>interceptFrom</tt>.</li>
	<li>Fixed issue with suspend/resume a <a href="/confluence/display/CAMEL/Timer"
title="Timer">Timer</a> consumer, not causing timer task to stop firing.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Netty" title="Netty">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 href="/confluence/display/CAMEL/Simple" title="Simple">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 href="/confluence/display/CAMEL/Predicate" title="Predicate">Predicates</a>
of <a href="/confluence/display/CAMEL/Exception+Clause" title="Exception Clause">OnException</a>
to be evaluated once per exception, instead of twice.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Throttler" title="Throttler">Throttler</a>
and <a href="/confluence/display/CAMEL/Delayer" title="Delayer">Delayer</a> EIPs
when evaluating of max/delay expression fails at runtime, not causing error handling to react.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Mail" title="Mail">Mail</a>
message with attachments may appear to be lost when <a href="/confluence/display/CAMEL/Error+Handler"
title="Error Handler">Error Handler</a> performs 2+ redelivery attempts.</li>
	<li>Fixed issue with a failed type conversion using <a href="/confluence/display/CAMEL/JAXB"
title="JAXB">JAXB</a> may cause subsequent attempts to be regarded as failed as well</li>
	<li>Fixed method call <a href="/confluence/display/CAMEL/Expression" title="Expression">Expression</a>
to preserve headers and <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
properties, which allow to use it for storing state with the <a href="/confluence/display/CAMEL/Dynamic+Router"
title="Dynamic Router">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 <tt>charset</tt> was configured
on the file endpoint.</li>
	<li>Fixed issue with <tt>convertBodyTo</tt> not working internally as <tt>transform</tt>
and <tt>setBody</tt>, by resetting the message type to <tt>DefaultMessage</tt>.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Loop" title="Loop">Loop</a>
using <tt>copy</tt> and an exception occurred</li>
	<li>Fixed so <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
consumer using done file name, will not automatic delete the done file if <tt>noop=true</tt>
is configured.</li>
</ul>


<h3><a name="Camel2.10.0Release-NewEnterpriseIntegrationPatterns"></a>New
<a href="/confluence/display/CAMEL/Enterprise+Integration+Patterns" title="Enterprise Integration
Patterns">Enterprise Integration Patterns</a></h3>

<h3><a name="Camel2.10.0Release-NewComponents"></a>New <a href="/confluence/display/CAMEL/Components"
title="Components">Components</a></h3>

<ul>
	<li><tt>camel-avro</tt> - for <a href="http://avro.apache.org/" class="external-link"
rel="nofollow">Apache Avro</a> integration</li>
	<li><tt><a href="/confluence/display/CAMEL/AWS" title="AWS">camel-aws</a></tt>
- for <a href="http://aws.amazon.com/dynamodb/" class="external-link" rel="nofollow">DynamoDB</a>
integration within <a href="http://aws.amazon.com/" class="external-link" rel="nofollow">Amazon
Web Services</a></li>
	<li><tt><a href="/confluence/display/CAMEL/BeanIO" title="BeanIO">camel-beanio</a></tt>
- <a href="/confluence/display/CAMEL/Data+Format" title="Data Format">Data Format</a>
to map objects to flat structured format</li>
	<li><tt>camel-cdi</tt></li>
	<li><tt>camel-core</tt> - new support for "<a href="/confluence/display/CAMEL/Stub"
title="Stub">stubbing</a>" endpoints, for development and testing purposes</li>
	<li><tt>camel-fop</tt> - to render messages into different outputs using
<a href="/confluence/display/CAMEL/FOP" title="FOP">Apache FOP</a></li>
	<li><tt><a href="/confluence/display/CAMEL/JSON" title="JSON">camel-gson</a></tt>
- provides a <a href="http://www.json.org/" class="external-link" rel="nofollow">JSON</a>
data format using the <a href="http://code.google.com/p/google-gson/" class="external-link"
rel="nofollow">Google GSON project</a></li>
	<li><tt><a href="/confluence/display/CAMEL/Jsch" title="Jsch">camel-jsch</a></tt>
- Secure Copy using <a href="http://www.jcraft.com/jsch/" class="external-link" rel="nofollow">JSCH</a></li>
	<li><tt>camel-mina2</tt></li>
	<li><tt><a href="/confluence/display/CAMEL/MongoDB" title="MongoDB">camel-mongodb</a></tt>
- for <a href="http://www.mongodb.org/" class="external-link" rel="nofollow">MongoDB</a>
integration</li>
	<li><tt><a href="/confluence/display/CAMEL/SSH" title="SSH">camel-ssh</a></tt>
- For executing commands on an <a href="http://en.wikipedia.org/wiki/SSH" class="external-link"
rel="nofollow">SSH</a> <a href="http://en.wikipedia.org/wiki/Comparison_of_SSH_servers"
class="external-link" rel="nofollow">server</a></li>
	<li><tt><a href="/confluence/display/CAMEL/Blueprint+Testing" title="Blueprint
Testing">camel-test-blueprint</a></tt> - for testing Blueprint routes</li>
	<li><tt><a href="/confluence/display/CAMEL/Spring+Testing" title="Spring Testing">camel-test-spring</a></tt>
- for testing Spring routes</li>
	<li><tt><a href="/confluence/display/CAMEL/Twitter" title="Twitter">camel-twitter</a></tt>
- for <a href="http://www.twitter.com/" class="external-link" rel="nofollow">Twitter</a>
integration</li>
	<li><tt><a href="/confluence/display/CAMEL/Websocket" title="Websocket">camel-websocket</a></tt>
- for <a href="http://www.websocket.org/" class="external-link" rel="nofollow">WebSocket</a>
integration</li>
</ul>


<h3><a name="Camel2.10.0Release-DSLChanges"></a>DSL Changes</h3>

<h3><a name="Camel2.10.0Release-NewAnnotations"></a>New Annotations</h3>

<h3><a name="Camel2.10.0Release-NewDataFormatsDataFormat"></a>New <a
href="/confluence/display/CAMEL/Data+Format" title="Data Format">Data Formats</a></h3>

<ul>
	<li><tt>camel-avro</tt> - for <a href="http://avro.apache.org/" class="external-link"
rel="nofollow">Apache Avro</a> integration</li>
	<li><tt><a href="/confluence/display/CAMEL/BeanIO" title="BeanIO">camel-beanio</a></tt>
- for mapping objects to flat structured format</li>
	<li><tt><a href="/confluence/display/CAMEL/JSON" title="JSON">camel-gson</a></tt>
- provides a <a href="http://www.json.org/" class="external-link" rel="nofollow">JSON</a>
data format using the <a href="http://code.google.com/p/google-gson/" class="external-link"
rel="nofollow">Google GSON project</a></li>
</ul>


<h3><a name="Camel2.10.0Release-NewLanguages"></a>New <a href="/confluence/display/CAMEL/Languages"
title="Languages">Languages</a></h3>

<h3><a name="Camel2.10.0Release-NewExamples"></a>New <a href="/confluence/display/CAMEL/Examples"
title="Examples">Examples</a></h3>

<ul>
	<li><tt>camel-example-ssh</tt></li>
	<li><tt><a href="/confluence/display/CAMEL/Twitter+Websocket+Example" title="Twitter
Websocket Example">camel-example-twitter-websocket</a></tt> - shows how to
use Twitter to push live tweet updates to a webpage with Websocket</li>
	<li><tt><a href="/confluence/display/CAMEL/Console+Example" title="Console
Example">camel-example-console</a></tt> - a new beginner example that shows
how to read input from the console</li>
</ul>


<h3><a name="Camel2.10.0Release-NewTutorials"></a>New <a href="/confluence/display/CAMEL/Tutorials"
title="Tutorials">Tutorials</a></h3>

<h2><a name="Camel2.10.0Release-APIchanges%2Fbreaking"></a>API changes/breaking</h2>

<ul>
	<li>Added <tt>shutdownForced</tt> and <tt>forceShutdown</tt>
methods to <tt>org.apache.camel.spi.ShutdownStrategy</tt></li>
	<li>Add boolean parameter to <tt>prepareShutdown</tt> on <tt>ShutdownAware</tt></li>
	<li>The <tt>errorHandler</tt> method in <tt>RouteBuilder</tt>
now returns <tt>void</tt>, as it's only used for configuring context-scoped error
handlers.</li>
	<li>Removed the <tt>SimpleLanguage</tt> constructor that takes custom start
and end tokens. Instead use the change methods to set custom tokens.</li>
	<li>Added <tt>onThreadPoolRemove</tt> and <tt>onErrorHandlerRemove</tt>
methods to <tt>LifecycleStrategy</tt></li>
	<li>Removed <tt>retryWhile(Expression)</tt> on <tt>OnExceptionDefinition</tt>;
use <tt>retryWhile(Predicate)</tt>.</li>
	<li>Removed options <tt>corePoolSize</tt> and <tt>maxPoolSize</tt>
on <a href="/confluence/display/CAMEL/Netty" title="Netty">Netty</a> endpoint,
as we rely on Netty default implementation.</li>
	<li>The <tt>resourceClasses</tt> option on <a href="/confluence/display/CAMEL/CXFRS"
title="CXFRS">CXFRS</a> now longer supports semi colon as class separators. Now only
comma is supported (which is the standard in Camel)</li>
	<li>Added <tt>tryConvertTo</tt> methods to <tt>TypeConverter</tt>,
which works as the regular <tt>convertTo</tt> methods, by ignoring any exceptions
during conversion.</li>
	<li>The <tt>convertTo</tt> methods on <tt>TypeConverter</tt>
now throws <tt>TypeConversionException</tt> if an exception occurred during type
conversion.</li>
	<li>The <tt>getBody(type)</tt>, and <tt>getHeader(name, type</tt>
methods on <tt>Message</tt> now throws <tt>TypeConversionException</tt>
if an exception occurred during type conversion.</li>
</ul>


<h2><a name="Camel2.10.0Release-Internal%2FNonAPIrefactoringsthatmayaffectusers"></a>Internal/Non
API refactorings that may affect users</h2>

<ul>
	<li>Removed method <tt>setManagementName</tt> from <tt>CamelContext</tt>
as it should not be used by Camel end users</li>
	<li>Added method <tt>isTransactedRedelivered</tt> to <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a></li>
	<li>Added method <tt>isDirectory</tt> to <tt>GenericFile</tt></li>
	<li>API changed in the <tt>ClientPipelineFactory</tt> and <tt>ServerPipelineFactory</tt>
abstract classes in <a href="/confluence/display/CAMEL/Netty" title="Netty">Netty</a></li>
	<li>Added <tt>getStatistics</tt> method to <tt>TypeConverterRegistry</tt>,
and the registry now extends <tt>Service</tt> as well.</li>
	<li>The <tt>convertBodyTo</tt> with a charset configured, will not propagate
the charset as an Exchange property (<tt>Exchange.CHARSET_NAME</tt>), which otherwise
may lead to payload being double converted.</li>
</ul>


<h2><a name="Camel2.10.0Release-KnownIssues"></a>Known Issues</h2>

<ul>
	<li>The <a href="/confluence/display/CAMEL/Tracer" title="Tracer">Tracer</a>
may not output all details for some situations, such as when using <tt>onCompletion</tt>
or <tt>intercept</tt>, etc.</li>
	<li>The project cannot fully build the site using Maven (e.g. running <tt>"mvn
site"</tt>). 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>
</ul>


<h2><a name="Camel2.10.0Release-DependencyUpgrades"></a>Dependency Upgrades</h2>

<ul>
	<li>AHC 1.6.5 to 1.7.4</li>
	<li>AWS 1.2.2 to 1.3.0</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.0</li>
	<li>EHCache 2.4.3 to 2.5.1</li>
	<li>Freemarker 2.3.18 to 2.3.19</li>
	<li>Groovy 1.8.5 to 1.8.6</li>
	<li>Hadoop 0.20.203.0 to 1.0.0</li>
	<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.5</li>
	<li>Jackrabbit 2.2.4 to 2.2.11</li>
	<li>Jasypt 1.7 to 1.9.0</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.46</li>
	<li>JuEL 2.1.3 to 2.1.4</li>
	<li>Kratti 0.4.1 to 0.4.4</li>
	<li>Logback 1.0.0 to 1.0.1</li>
	<li>Lucene 3.0.3 to 3.5.0</li>
	<li>MyBatis 3.0.6 to 3.1.1</li>
	<li>Netty 3.2.6 to 3.4.2</li>
	<li>OGNL 3.0.2 to 3.0.4</li>
	<li>Resetlet 2.0.10 to 2.0.11</li>
	<li>SNMP 1.8.1 to 1.10.1</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.1</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><a name="Camel2.10.0Release-Importantchangestoconsiderwhenupgrading"></a>Important
changes to consider when upgrading</h2>

<ul>
	<li>Moved <a href="/confluence/display/CAMEL/Spring+Testing" title="Spring Testing">Spring
Testing</a> from <tt>camel-test</tt> to <tt>camel-test-spring</tt>
component.</li>
	<li>Combination of <tt>skipSendToEndpoint=true</tt> and <tt>when</tt>
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 href="/confluence/display/CAMEL/Using+PropertyPlaceholder"
title="Using PropertyPlaceholder">Using PropertyPlaceholder</a> (see <a href="/confluence/display/CAMEL/Threading+Model"
title="Threading Model">Threading Model</a> for more details).</li>
	<li><a href="/confluence/display/CAMEL/Content+Enricher" title="Content Enricher">Poll
Enrich</a> will now block if no messages are available and no explicit timeout has been
configured.</li>
	<li>The option <tt>lazyLoadTypeConverter=true</tt> 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 href="/confluence/display/CAMEL/Testing" title="Testing">Camel Test
kit</a> no longer lazily loads type converters.</li>
	<li>Keys for <a href="/confluence/display/CAMEL/MDC+logging" title="MDC logging">MDC
logging</a> have been prefixed with <tt>"camel."</tt>.</li>
	<li><a href="/confluence/display/CAMEL/Wire+Tap" title="Wire Tap">Wire Tap</a>
can no longer change destination from <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel
JMX">JMX</a></li>
	<li>Camel now fail faster during type conversion, by throwing <tt>TypeConversionException</tt>
to the caller, from APIs such as <tt>TypeConverter</tt> and <tt>Message</tt>.
For example <tt>getBody(type)</tt> on the <tt>Message</tt> API.</li>
	<li>Camel no longer supports using <tt>java.beans.PropertyEditor</tt> for
type conversion. These are slow, neither thread safe, and using 3rd party JARs on the classpath
may cause side effect as if they install <tt>java.beans.PropertyEditor</tt>.</li>
	<li>Use the <tt>charset</tt> option on the <a href="/confluence/display/CAMEL/File2"
title="File2">File</a> component to explicit specify encoding for reading and writing
files.</li>
</ul>


<h2><a name="Camel2.10.0Release-Notice"></a>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.</li>
</ul>


<h2><a name="Camel2.10.0Release-GettingtheDistributions"></a>Getting the
Distributions</h2>

<h3><a name="Camel2.10.0Release-BinaryDistributions"></a>Binary Distributions</h3>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Download Link </th>
<th class='confluenceTh'> PGP Signature file of download </th>
</tr>
<tr>
<td class='confluenceTd'> Windows Distribution </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0.zip"
class="external-link" rel="nofollow">apache-camel-2.10.0.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0.zip.asc"
class="external-link" rel="nofollow">apache-camel-2.10.0.zip.asc</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Unix/Linux/Cygwin Distribution </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0.tar.gz"
class="external-link" rel="nofollow">apache-camel-2.10.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0.tar.gz.asc"
class="external-link" rel="nofollow">apache-camel-2.10.0.tar.gz.asc</a> </td>
</tr>
</tbody></table>
</div>

<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/information.gif" width="16"
height="16" align="absmiddle" alt="" border="0"></td><td><b>The above
URLs use redirection</b><br />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 href="http://www.mozilla.com/en-US/firefox/" class="external-link"
rel="nofollow">Firefox</a></td></tr></table></div>

<h3><a name="Camel2.10.0Release-SourceDistributions"></a>Source Distributions</h3>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Download Link </th>
<th class='confluenceTh'> PGP Signature file of download </th>
</tr>
<tr>
<td class='confluenceTd'> Source Distribution </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0-src.zip"
class="external-link" rel="nofollow">apache-camel-2.10.0-src.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0-src.zip.asc"
class="external-link" rel="nofollow">apache-camel-2.10.0-src.zip.asc</a> </td>
</tr>
</tbody></table>
</div>

    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.10.0+Release">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=27834664&revisedVersion=163&originalVersion=162">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.10.0+Release?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message