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.1.0 Release
Date Fri, 08 Jan 2010 06:09:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><a href="http://cwiki.apache.org/confluence/display/CAMEL/Camel+2.1.0+Release">Camel
2.1.0 Release</a></h2>
     <h4>Page <b>edited</b> by             <a href="http://cwiki.apache.org/confluence/display/~davsclaus">Claus
Ibsen</a>
    </h4>
     
          <br/>
     <div class="notificationGreySide">
         <h1><a name="Camel2.1.0Release-Camel2.1.0release"></a>Camel 2.1.0
release</h1>

<div style="padding-right:20px;float:left;margin-left:-20px;"><p><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"
align="absmiddle" border="0" /></p></div>
<div style="min-height:200px"></div>

<h2><a name="Camel2.1.0Release-NewandNoteworthy"></a>New and Noteworthy</h2>

<p>Welcome to the 2.1.0 release which approx 303 issues resolved (new features, improvements
and bug fixes such as...)</p>

<ul>
	<li>Pluggable API for Management allowing 3rd party to manage Camel.
	<ul>
		<li>Use <tt>org.apache.camel.spi.ManagementStrategy</tt> to plugin 3rd
party adapter</li>
		<li>Fine grained events notifications is now being emitted using <tt>org.apache.camel.spi.EventNotifier</tt></li>
		<li>Events being fired can be created using a pluggable factory using <tt>org.apache.camel.spi.EventFactory</tt></li>
		<li>Camel now supports using multiple <tt>org.apache.camel.spi.LifecycleStrategy</tt>
strategies, that also allows 3rd party to more easily integrate into Camel.</li>
	</ul>
	</li>
	<li>Overhaul of default <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel
JMX">JMX management</a> in Camel to be much improved with more attributes, mbeans,
operations, statistics, and route timing working as well.
	<ul>
		<li>And yes you can now start/stop routes and individual consumers and producers</li>
		<li>And some special processors such as <a href="/confluence/display/CAMEL/Delayer"
title="Delayer">Delayer</a> and <a href="/confluence/display/CAMEL/Throttler"
title="Throttler">Throttler</a> can be managed to change their delay/throttle values</li>
		<li>You can dynamic manage <a href="/confluence/display/CAMEL/Tracer" title="Tracer">tracing</a>
even for already running applications</li>
		<li><a href="/confluence/display/CAMEL/Error+handling+in+Camel" title="Error handling
in Camel">Error handling in Camel</a> is now also manageable so you for example can
change the redelivery policies.</li>
		<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> consumers
being restarted will pickup any configuration changes on JMS endpoints such as changing <tt>concurrentConsumers</tt>.
And yes its fully managed using JMX.</li>
		<li>Number of inflight exchanges per consumer, route and totally per camel context.</li>
		<li>And much more...</li>
	</ul>
	</li>
	<li>Improved <a href="/confluence/display/CAMEL/IRC" title="IRC">IRC</a>,
<a href="/confluence/display/CAMEL/XMPP" title="XMPP">XMPP</a>, <a href="/confluence/display/CAMEL/MINA"
title="MINA">MINA</a>, <a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a>
and <a href="/confluence/display/CAMEL/Freemarker" title="Freemarker">Freemarker</a>
components with much thanks to the Camel community</li>
	<li>Added classLoader set and get method in the CamelContext to make Camel work better
in the Container.</li>
	<li>Introduced camel-spring-osgi bundle which is merged from camel-spring and camel-osgi
bundle to avoid the issue of installing upper bundles in a wrong order.</li>
	<li>Now Camel Karaf features are validated with the Karaf plugin.</li>
	<li><a href="/confluence/display/CAMEL/CXF" title="CXF">camel-cxf</a> beans
component supports JAXWS beans.</li>
	<li>camel-cxf MTOM attachment supports in Payload mode.</li>
	<li>Fixed the Null message will cause camel converter stop working issue.</li>
	<li>camel-cxf endpoint no longer requires the "serviceClass" option or Service Endpoint
Interface (SEI) in Payload mode.&nbsp; It means only WSDL is needed but the intended port
and service name in the WSDL must be provided for the camel-cxf endpoint.</li>
	<li><a href="/confluence/display/CAMEL/Velocity" title="Velocity">Velocity</a>
component supports to take the Velocity configuration by using propertiesFile option.</li>
	<li><a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>
and <a href="/confluence/display/CAMEL/Multicast" title="Multicast">Multicast</a>
EIP patterns now support the option <tt>stopOnException</tt> to stop continue
processing at first exception occurred. See their documentation for more details.</li>
	<li><a href="/confluence/display/CAMEL/Error+handling+in+Camel" title="Error handling
in Camel">Error handlers</a> is restricted to be configured on camel context and/or
routes only.</li>
	<li>Camel is now more robust and fault tolerant when shutting down.</li>
	<li>Fixed a race condition when shutting down Camel with <a href="/confluence/display/CAMEL/JMS"
title="JMS">JMS</a> consumers that under some circumstances caused it to appear to
hang</li>
	<li>Added pluggable <tt>org.apache.camel.spi.InflightRepository</tt> with
a basic implementation that can help with graceful shutdown as you can now see how many exchanges
are currently in progress.</li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JmsEndpoint</a>
is now singleton</li>
	<li>Individual routes can be <a href="/confluence/display/CAMEL/Configuring+route+startup+ordering+and+autostartup"
title="Configuring route startup ordering and autostartup">pre configured to not auto startup</a>
when Camel starts: <tt>autoStartup=false</tt> in XML DSL and <tt>noAutoStartup()</tt>
in Java DSL.</li>
	<li>Camel is more robust on startup as route inputs are deferred to be started at the
very end, ensuring all routes services have been pre started and thus ready when consumers
is started.</li>
	<li>Improved unit test coverage, now having more than 4200 unit tests in total.</li>
	<li>Fixed <tt>ConsumerTemplate</tt> not working when it was dependency
injected with <tt>@EndpointInjected</tt> in a <a href="/confluence/display/CAMEL/Bean"
title="Bean">Bean</a>.</li>
	<li>Using IBM special JMS headers now work when sending messages to IBM WebSphere MQ.
IBM special headers uses this prefix: <tt>JMS_IBM&#95;</tt>. In fact it works
with any <tt>JMS_&lt;vendor&gt;_</tt> header.</li>
	<li>The <a href="/confluence/display/CAMEL/Configuring+route+startup+ordering+and+autostartup"
title="Configuring route startup ordering and autostartup">ordering of which routes should
be started</a> can now be configured by the <tt>startupOrder</tt> attribute
which defines a number. Lowest number is started first.</li>
	<li>And <tt>autoStartup</tt> is also supported on <a href="/confluence/display/CAMEL/CamelContext"
title="CamelContext">CamelContext</a> itself where it replaces the <tt>shouldStartContext</tt>
option, which have been removed.</li>
	<li>Camel now checks on startup if multiple routes uses the <b>same</b>
endpoint as inputs, if so it fails to start. This prevents starting Camel if you have routes
with e.g. copy/paste typos. Only <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
and <a href="/confluence/display/CAMEL/MINA" title="MINA">MINA</a> support multiple
routes to consume from <b>same</b> endpoint. The <tt>MultipeConsumersSupport</tt>
interface can be optionally implemented by the endpoint to control this behavior.</li>
	<li>The <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
component handles renaming and deleting files on Windows better as Windows could block files.
Also Antivirus software could causes files to be blocked.</li>
	<li>Fixed issues using <tt>tempPrefix</tt> option with the <a href="/confluence/display/CAMEL/File2"
title="File2">File</a> in case of clashes with existing files. The same goes for
the <tt>localWorkDirectory</tt> option on the <a href="/confluence/display/CAMEL/FTP2"
title="FTP2">FTP</a> component which could have a similar issue.</li>
	<li>Optimized <a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a>
to allow thread safe concurrency which greatly reduces contention.</li>
	<li>Camel works better with Google App Engine</li>
	<li>The <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>
component is better at choosing the best method. If given a method name it will only pick
among methods with such a name.</li>
	<li>The <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>
component is now also more strict as it <b>must</b> be able to convert to all
the parameter types. Was to lenient before by passing in <tt>null</tt> instead,
when conversion was not successful.</li>
	<li>The <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>
component now works with Spring @Transactional annotations where it uses CGLIB enhanced classes.</li>
	<li>Fixed an issue with setting global error handling in Spring XML not always working</li>
	<li>Camel <a href="/confluence/display/CAMEL/Dead+Letter+Channel" title="Dead Letter
Channel">adds properties</a> to <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
when sending to endpoints. This is useable with <a href="/confluence/display/CAMEL/Dead+Letter+Channel"
title="Dead Letter Channel">Dead Letter Channel</a> where we can use this to know
which <a href="/confluence/display/CAMEL/Endpoint" title="Endpoint">Endpoint</a>
failed.</li>
	<li>Improved file operations on Windows platform to retry in case of issues.</li>
	<li>Fixed issue with <tt>replyTo</tt> option on <a href="/confluence/display/CAMEL/JMS"
title="JMS">JMS</a> consumers which wasn't working.</li>
	<li>Fixed issue with using &lt;camel:proxy&gt; not working</li>
	<li>Improved <tt>&lt;camel:proxy&gt;</tt> so its easier to work
with out of the box. It leverages Camels type converter mechanism to adapt to the interface.
Also proxied methods with a single parameter turns that parameter value into the message body.</li>
	<li>Added document for using <a href="/confluence/display/CAMEL/Using+CamelProxy"
title="Using CamelProxy">Camel proxy</a>.</li>
	<li>Improved <tt>enrich</tt> and <tt>pollEnrich</tt> with reference
lookup of endpoints and aggregation strategy.</li>
	<li>Added <tt>markRollbackOnly</tt> attribute on <tt>&lt;rollback&gt;</tt>
to only mark the <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
for rollback. This allows you to set a custom reply message. Previously a <tt>RollbackExchangeException</tt>
was always set which causes Camel to thrown an exception to the client. This also works with
<tt>transacted</tt> routes as well.</li>
	<li>Camel now logs on shutdown whether there was in flight exchanges or not. All together
we are getting closer to having graceful shutdown supported in Camel.</li>
	<li><tt>@Bean</tt> is now easier to use at you define <tt>ref</tt>
and <tt>method</tt> instead of one combined value.</li>
	<li>Introduced <tt>routeId</tt> in the Java DSL to set the id of the route.
Prefer to use this over <tt>id</tt>.</li>
	<li>Introduced <a href="/confluence/display/CAMEL/RoutePolicy" title="RoutePolicy">RoutePolicy</a>
allowing to automatic and dynamically controlling routes at runtime.</li>
	<li>Supplied <tt>ThrottlingRoutePolicy</tt> out of the box for dynamic
throttling route consumers using metrics based on the current number of inflight exchanges.</li>
	<li><a href="/confluence/display/CAMEL/Data+Format" title="Data Format">Data
Format</a> is now resolved just as <a href="/confluence/display/CAMEL/Components"
title="Components">Components</a> and <a href="/confluence/display/CAMEL/Languages"
title="Languages">Languages</a> by looking for magic file under <tt>META-INF/services/org/apache/camel/dataformat/</tt>.</li>
	<li>The <a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>
component now also supports using NTLM authentication</li>
	<li><a href="/confluence/display/CAMEL/Exception+Clause" title="Exception Clause">Exception
Clause</a> improved to better select the best <tt>onException</tt> to use.
Now a direct match will <b>always</b> be used in case one existed anywhere in
the caused exception hierarchy. This avoid Camel eagerly selecting a too generic such as <tt>onException(Exception.class)</tt>
when a direct match existed.</li>
	<li><a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> can now
have its <tt>FTPClient</tt> and <tt>FTPClientConfig</tt> configured
using URI parameters. Can for example be used to set a timeout on the <tt>FTPClient</tt>.</li>
	<li><a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> is now
more robust when writing files where it will reconnect the connect in case of problems.</li>
	<li>Added support in camel-core for non blocking <a href="/confluence/display/CAMEL/Request+Reply"
title="Request Reply">Request Reply</a> using <a href="/confluence/display/CAMEL/ToAsync"
title="ToAsync">ToAsync</a>.</li>
	<li><a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> HTTP
producer supports non blocking <a href="/confluence/display/CAMEL/Request+Reply" title="Request
Reply">Request Reply</a>. See more at <a href="/confluence/display/CAMEL/ToAsync"
title="ToAsync">ToAsync</a> and the <a href="/confluence/display/CAMEL/HTTP+Async+Example"
title="HTTP Async Example">HTTP Async Example</a>.</li>
	<li><tt>HttpOperationFailedException</tt> now uses pure Java types so it
can safely be transported over network without being dependent on 3rd part .jars.</li>
	<li>Improvements to <a href="/confluence/display/CAMEL/Tracer" title="Tracer">Tracer</a>
to let it be more fine grained when used with <a href="/confluence/display/CAMEL/Aggregator"
title="Aggregator">Aggregator</a>, <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a> etc. who has sub routes. It now also outputs correct
doTry .. doCatch .. doFinally and onException etc.</li>
	<li>Added <tt>adviceWith(RouteBuilder)</tt> to <tt>RouteDefinition</tt>
which allows you to advice any existing route with a route builder where you can define interceptors
etc. This is useable for testing so you can write tests based on existing routes and advice
them with interceptors so you can detour messages and simulate errors etc.</li>
	<li><a href="/confluence/display/CAMEL/Timer" title="Timer">Timer</a> and
<a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a> now logs
Exchanges that failed with an exception at ERROR level to help identify the problem.</li>
	<li><a href="/confluence/display/CAMEL/Tutorial+for+Camel+on+Google+App+Engine"
title="Tutorial for Camel on Google App Engine">Google App Engine supported</a> excellent
work by our new committer Martin Krasser.</li>
	<li>Improved <a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a>
producer in <tt>POJO</tt> mode to use the POJO body without having to wrap it
in a <tt>java.util.List</tt> which allows for easier usage. See for example the
<a href="/confluence/display/CAMEL/CXF+Async+Example" title="CXF Async Example">CXF
Async Example</a>.</li>
	<li>Added option <tt>testConnectionOnStartup</tt> to <a href="/confluence/display/CAMEL/JMS"
title="JMS">JMS</a> to test connection on startup. The goal is to ensures that when
Camel is started all the JMS consumers have a valid connection to the JMS broker. However
if a connection cannot be established then Camel throws an exception on startup.</li>
	<li><a href="/confluence/display/CAMEL/Dead+Letter+Channel" title="Dead Letter Channel">Dead
Letter Channel</a> is validating its <tt>deadLetterUri</tt> on startup to
prevent failing at runtime.</li>
	<li>Failing to create routes is now reported with a more precise error message which
pinpoints which route and what part of the route is causing the problem.</li>
	<li>Fixed issue with transacted routes mixed with Camel error handling doing redelivery
from the beginning of the route and not only at the failed node in the route path.</li>
	<li>Fixed issue with using <a href="/confluence/display/CAMEL/BAM" title="BAM">BAM</a>
with Hibernate.</li>
	<li>Options to the <tt>java.sql.Statement</tt> can be set from the URI
in the <a href="/confluence/display/CAMEL/JDBC" title="JDBC">JDBC</a> component.
Can be used to set maxRows etc.</li>
	<li>Added documentation for <a href="/confluence/display/CAMEL/NMR" title="NMR">NMR</a>
and <a href="/confluence/display/CAMEL/Quickfix" title="Quickfix">Quickfix</a>.</li>
	<li>Fixed issues with <a href="/confluence/display/CAMEL/Mail" title="Mail">Mail</a>
and having multiple endpoints defined with different recipients could cause Camel to use the
recipients from the last defined endpoint only.</li>
	<li>Improved <a href="/confluence/display/CAMEL/Mail" title="Mail">Mail</a>
to better recover from network failure on subsequent polls</li>
	<li>Improved <a href="/confluence/display/CAMEL/Tracer" title="Tracer">Tracer</a>
to output route id</li>
	<li>Fixed a potential 2gb file copy limit using NIO when doing from("file:xxx").XXXX.to("file:yyy")
routing.</li>
	<li>Upgraded and fixed <a href="/confluence/display/CAMEL/EL" title="EL">EL</a>
to work with OSGi containers.</li>
</ul>


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

<ul>
	<li><a href="/confluence/display/CAMEL/Sampling" title="Sampling">Sampling</a>
A sampling throttler allowing you to extract a sample of exchanges from the traffic through
a route.</li>
</ul>


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

<ul>
	<li><a href="/confluence/display/CAMEL/Printer" title="Printer">camel-printer</a></li>
	<li><a href="/confluence/display/CAMEL/Cache" title="Cache">camel-cache</a></li>
	<li><a href="/confluence/display/CAMEL/SNMP" title="SNMP">camel-snmp</a></li>
	<li><a href="/confluence/display/CAMEL/JavaSpace" title="JavaSpace">camel-javaspace</a></li>
	<li><a href="/confluence/display/CAMEL/GAE" title="GAE">camel-gae</a></li>
	<li><a href="/confluence/display/CAMEL/Quickfix" title="Quickfix">camel-quickfix</a></li>
</ul>



<h3><a name="Camel2.1.0Release-NewDSL"></a>New DSL</h3>

<ul>
	<li><a href="/confluence/display/CAMEL/Sampling" title="Sampling"><tt>sample</tt></a></li>
	<li><tt>markRollbackOnly</tt></li>
	<li><tt>routeId</tt></li>
	<li><a href="/confluence/display/CAMEL/ToAsync" title="ToAsync"><tt>toAsync</tt></a></li>
	<li><tt>autoStartup</tt></li>
	<li><tt>startupOrder</tt></li>
</ul>



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

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

<ul>
	<li>Camel-bindy <a href="/confluence/display/CAMEL/Bindy" title="Bindy">Bindy</a>
includes important new features like :
	<ul>
		<li>Required (@DataField) to check mandatory field</li>
		<li>Position (@DataField and @KeyValuePairField) when the CSV/FIX message to be generate
contain fields which are placed at a different position then those used to parse it</li>
		<li>Section which allow to define the class containing by example the header, body
or footer section</li>
		<li>OneToMany which allow to Read a FIX message containing repetitive groups (= group
of tags/keys) and Generate a CSV with repetitive data</li>
	</ul>
	</li>
</ul>


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

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

<ul>
	<li><a href="/confluence/display/CAMEL/Management+Example" title="Management Example">camel-example-management</a></li>
	<li><a href="/confluence/display/CAMEL/Route+Throttling+Example" title="Route Throttling
Example">camel-example-route-throttling</a></li>
	<li><a href="/confluence/display/CAMEL/HTTP+Async+Example" title="HTTP Async Example">camel-example-http-async</a></li>
	<li><a href="/confluence/display/CAMEL/CXF+Async+Example" title="CXF Async Example">camel-example-cxf-async</a></li>
</ul>


<h2><a name="Camel2.1.0Release-APIbreaking"></a>API breaking</h2>

<h3><a name="Camel2.1.0Release-DSLchanges"></a>DSL changes</h3>

<p>In the Java DSL the <tt>.errorHandler</tt> is now restricted to be configured
on camel context and/or routes only. That means for configuring on routes you have to set
it directly after the <tt>.from</tt> DSL.</p>

<p>In Spring DSL the <tt>errorHandlerRef</tt> attribute is now only visible
on the <tt>&lt;camelContext&gt;</tt> and <tt>&lt;route&gt;</tt>
XML tags.</p>

<h3><a name="Camel2.1.0Release-New.jardependencies"></a>New .jar dependencies</h3>

<p>camel-core now depends on commons-management.jar to facilitate the new overhauled
management.<br/>
This project is hosted at <a href="http://commonman.fusesource.org/" rel="nofollow">FuseForge</a></p>

<p>This .jar can be retrieved from the maven central repo at: <a href="http://repo1.maven.org/maven2/org/fusesource/commonman/commons-management/1.0/"
rel="nofollow">http://repo1.maven.org/maven2/org/fusesource/commonman/commons-management/1.0/</a><br/>
The maven dependency details are:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
 &lt;groupId&gt;org.fusesource.commonman&lt;/groupId&gt;
 &lt;artifactId&gt;commons-management&lt;/artifactId&gt;
 &lt;version&gt;1.0&lt;/version&gt;
</pre>
</div></div>

<h3><a name="Camel2.1.0Release-DataFormatresolution"></a>DataFormat resolution</h3>
<p>Data formats is now resolved just as components and languages etc. making it consistent.
If you have your own custom data formats you need to create the magic file under <tt>META-INF/services/org/apache/camel/dataformat</tt>
which is a file with the data format name. See for example <tt>camel-jackson</tt>
for an example how to do that.</p>

<h3><a name="Camel2.1.0Release-camelhttp"></a>camel-http</h3>
<p><tt>HttpOperationFailedException</tt> has been changed.</p>

<h3><a name="Camel2.1.0Release-CoreAPI"></a>Core API</h3>

<h4><a name="Camel2.1.0Release-CamelContext"></a>CamelContext</h4>

<p>CamelContext have renamed the method <tt>getLifecycleStrategy</tt> to
<tt>getLifecycleStrategies</tt> and now returns a List.</p>

<h4><a name="Camel2.1.0Release-Exchange"></a>Exchange</h4>

<p>The exchange id has been changed to use the <tt>java.util.UUID</tt> instead.
This allows Camel to run on Google App Engine.</p>

<h4><a name="Camel2.1.0Release-Management"></a>Management</h4>

<p>The API in <tt>org.apache.camel.spi.ManagementNamingStrategy</tt> had
its methods renaming and method signature adjusted to accommodate the big theme for Camel
which was overhaul of management (JMX).</p>

<h4><a name="Camel2.1.0Release-SPI"></a>SPI</h4>

<p>The <tt>TraceableUnitOfWork</tt> has been renamed to <tt>TracedRouteNote</tt>
which is accessible from <tt>UnitOfWork</tt>.</p>

<h4><a name="Camel2.1.0Release-DeadLetterChannel"></a>DeadLetterChannel</h4>

<p>The <tt>deadLetterUri</tt> uri now only accepts a single endpoint which
is prechecked on startup. You cannot any longer using multiple endpoints separated by comma.
That was in fact an internal hidden feature because a recipient list was used beforehand to
produce to the dead letter queue. Adding the precheck removed the recipient list. You can
use <a href="/confluence/display/CAMEL/Direct" title="Direct">Direct</a> and route
to a route which can then use a recipient list in case you really need this.</p>

<h3><a name="Camel2.1.0Release-ClientAPI"></a>Client API</h3>

<h3><a name="Camel2.1.0Release-Removedclasses"></a>Removed classes</h3>

<ul>
	<li><tt>org.apache.camel.processor.CompositeProcessor</tt> was never used</li>
	<li><tt>org.apache.camel.impl.ProducerTemplateProcessor</tt> was never
used</li>
	<li><tt>org.apache.camel.impl.NoPolicy</tt> was never used</li>
	<li><tt>org.apache.camel.spring.handler.LazyLoadingBeanDefinitionParser</tt>
was never used</li>
	<li><tt>org.apache.camel.spring.handler.ScriptDefinitionParser</tt> was
never used</li>
	<li><tt>org.apache.camel.spring.remoting.SendBeforeInterceptor</tt> was
never used</li>
	<li><tt>org.apache.camel.spring.spi.SpringConverters</tt> was never used</li>
</ul>


<h3><a name="Camel2.1.0Release-Movedclasses"></a>Moved classes</h3>

<ul>
	<li><tt>org.apache.camel.PollingConsumerPollStrategy</tt> is moved to <tt>org.apache.camel.spi.PollingConsumerPollStrategy</tt></li>
	<li><tt>org.apache.camel.impl.scan.PatternBasedPackageScanFilter</tt> is
moved to <tt>org.apache.camel.spring.PatternBasedPackageScanFilter</tt> in the
<b>camel-spring</b> jar.</li>
</ul>


<h3><a name="Camel2.1.0Release-Removedmethods"></a>Removed methods</h3>

<ul>
	<li><tt>getSingletonEndpoints</tt> method have been removed from various
classes in the <tt>camel-test</tt> component.</li>
</ul>


<h3><a name="Camel2.1.0Release-RemovedinSpringXML"></a>Removed in Spring
XML</h3>

<p>The option <tt>shouldStartContext</tt> on &lt;camelContext&gt;
have been removed. Its replaced with <tt>autoStartup</tt> which you can read more
about here <a href="/confluence/display/CAMEL/Configuring+route+startup+ordering+and+autostartup"
title="Configuring route startup ordering and autostartup">Configuring route startup ordering
and autostartup</a>.</p>

<h3><a name="Camel2.1.0Release-@Bean"></a>@Bean</h3>

<p>@Bean now uses a <tt>ref</tt> attribute to refer to the bean name. Also
added a new <tt>method</tt> attribute to set the method to use (optional).<br/>
You need to upgrade your code to use these attributes as the default <tt>value</tt>
have been removed. We assume only a very few people knew and uses this @Bean annotation.</p>

<h3><a name="Camel2.1.0Release-Directcomponent"></a><a href="/confluence/display/CAMEL/Direct"
title="Direct">Direct</a> component</h3>
<p>The option <tt>allowMultipleConsumers</tt> has been removed as it did
not make sense to have concurrent consumers on a direct endpoint.</p>

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

<p><a href="/confluence/display/CAMEL/Routing+Slip" title="Routing Slip">Routing
Slip</a> EIP does not break when Exchange is failed, see <a href="/confluence/pages/createpage.action?spaceKey=CAMEL&amp;title=CAMEL-2245&amp;linkCreation=true&amp;fromPageId=2852389"
class="createlink">CAMEL&#45;2245</a>.</p>

<p>Using &lt;transacted/&gt; in Spring XML does not work properly when using
route scoped &lt;onException&gt; and/or &lt;onCompletion&gt;. Using context
scoped works. And the Java DSL does not have this flaw. See <a href="/confluence/pages/createpage.action?spaceKey=CAMEL&amp;title=CAMEL-2336&amp;linkCreation=true&amp;fromPageId=2852389"
class="createlink">CAMEL&#45;2336</a>.</p>

<p>See known issues from previous releases.</p>

<h2><a name="Camel2.1.0Release-Importantchangestoconsiderwhenupgrading"></a>Important
changes to consider when upgrading</h2>

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

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

<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.1.0/apache-camel-2.1.0.zip"
rel="nofollow">apache-camel-2.1.0.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.1.0/apache-camel-2.1.0.zip.asc"
rel="nofollow">apache-camel-2.1.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.1.0/apache-camel-2.1.0.tar.gz"
rel="nofollow">apache-camel-2.1.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.1.0/apache-camel-2.1.0.tar.gz.asc"
rel="nofollow">apache-camel-2.1.0.tar.gz.asc</a> </td>
</tr>
</tbody></table>
<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 /><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 href="http://www.mozilla.com/en-US/firefox/"
rel="nofollow">Mozilla Firefox</a></p></td></tr></table></div>

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

<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 for Windows </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.1.0/apache-camel-2.1.0-src.zip"
rel="nofollow">apache-camel-2.1.0-src.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.1.0/apache-camel-2.1.0-src.zip.asc"
rel="nofollow">apache-camel-2.1.0-src.zip.asc</a> </td>
</tr>
</tbody></table>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> Source for Unix/Linux/Cygwin </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.1.0/apache-camel-2.1.0-src.tar.gz"
rel="nofollow">apache-camel-2.1.0-src.tar.gz</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.1.0/apache-camel-2.1.0-src.tar.gz.asc"
rel="nofollow">apache-camel-2.1.0-src.tar.gz.asc</a> </td>
</tr>
</tbody></table>

<h3><a name="Camel2.1.0Release-GettingtheBinariesusingMaven2"></a>Getting
the Binaries using Maven 2</h3>

<p>To use this release in your maven project, the proper dependency configuration that
you should use in your <a href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html"
rel="nofollow">Maven POM</a> is:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
<span class="code-tag">&lt;dependency&gt;</span>
  <span class="code-tag">&lt;groupId&gt;</span>org.apache.camel<span
class="code-tag">&lt;/groupId&gt;</span>
  <span class="code-tag">&lt;artifactId&gt;</span>camel-core<span class="code-tag">&lt;/artifactId&gt;</span>
  <span class="code-tag">&lt;version&gt;</span>2.1.0<span class="code-tag">&lt;/version&gt;</span>
<span class="code-tag">&lt;/dependency&gt;</span>
</pre>
</div></div>

<h3><a name="Camel2.1.0Release-SVNTagCheckout"></a>SVN Tag Checkout</h3>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
svn co http:<span class="code-comment">//svn.apache.org/repos/asf/camel/tags/camel-2.1.0</span>
</pre>
</div></div>

<h2><a name="Camel2.1.0Release-Changelog"></a>Changelog</h2>

<p>For a more detailed view of new features and bug fixes, see the:</p>
<ul>
	<li><a href="http://issues.apache.org/activemq/secure/ReleaseNote.jspa?projectId=11020&amp;styleName=Html&amp;version=12002"
rel="nofollow">release notes for 2.1.0</a></li>
</ul>

     </div>
     <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
       </div>

       <a href="http://cwiki.apache.org/confluence/display/CAMEL/Camel+2.1.0+Release">View
Online</a>
       |
       <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=2852389&revisedVersion=94&originalVersion=93">View
Change</a>
              |
       <a href="http://cwiki.apache.org/confluence/display/CAMEL/Camel+2.1.0+Release?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message