camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Camel 2.3.0 Release
Date Mon, 29 Mar 2010 15:23:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><a href="">Camel
2.3.0 Release</a></h2>
     <h4>Page <b>edited</b> by             <a href="">Claus
     <div class="notificationGreySide">
         <h1><a name="Camel2.3.0Release-Camel2.3.0release%28currentlyinprogress%29"></a>Camel
2.3.0 release (currently in progress)</h1>

<div style="padding-right:20px;float:left;margin-left:-20px;"><p><img src=""
align="absmiddle" border="0" /></p></div>
<div style="min-height:200px"></div>

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

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

	<li><a href="/confluence/display/CAMEL/Threading+Model" title="Threading Model">Overhauled
threading model</a> and introducing <tt>threadPoolProfile</tt> to define
profiles for thread pools to have easy configuration.</li>
	<li><a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Property
placeholders</a> in for example endpoint uris is not natively supported in <b>camel-core</b>
which means you no long need to use Spring for that. It works therefore in any environment
as its provided out of the box in camel-core.</li>
	<li><a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Property
placeholders</a> also works in the <tt>&lt;CamelContext&gt;</tt>
when using Spring XML. Basically nearly all places where you enter text the property placeholder
is supported.</li>
	<li>Added <tt>ExchangeSentEvent</tt> to <tt>EventNotifier</tt>
which contains time taken and is emitted when an <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> is sent to an <a href="/confluence/display/CAMEL/Endpoint"
title="Endpoint">Endpoint</a>. This allows end users to easily gather performance
stats for <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
send to endpoints.</li>
	<li>Added <tt>disconnect</tt> option to <a href="/confluence/display/CAMEL/MINA"
title="MINA">MINA</a> to close Mina session right after usage.</li>
	<li><a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> now
supports to get the <tt>HttpServletRequest</tt> and <tt>HttpServletResponse</tt>
from the <a href="/confluence/display/CAMEL/Message" title="Message">Message</a>
	<li><a href="/confluence/display/CAMEL/XPath" title="XPath">XPathBuilder</a>
now supports being used without an <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
which allows you to use it in a custom/generic fashion.</li>
	<li><a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a> now
supports using the JVM system property specifying a custom <tt>XPathFactory</tt>
to be used. You can use this to switch from default to use e.g. Saxon.</li>
	<li><a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a> now
supports using <tt>&lt;xsl:include&gt;</tt> where the files is loaded
from classpath, and being able to load relative according to the endpoint configured location.
See the wiki page for details.</li>
	<li><a href="/confluence/display/CAMEL/File2" title="File2">File</a>, <a
href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> added option <tt>eagerDeleteTargetFile</tt>
to control the behavior when using <tt>tempFile</tt> whether or not to eagerly
delete the target file or wait until last moment.</li>
	<li>Reduced registering producers in JMX to prevent using too much memory and potentially
registering short lived producers which didn't bring much value of being managed as well.</li>
	<li>Upgraded <a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>
to use Apache HTTP Client 4.0.1. You may need to migrate if you use special or advanced configuration
of HTTP Client.</li>
	<li>Upgraded <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
to use Jetty 7.0.1.</li>
	<li>Individual routes can be <a href="/confluence/display/CAMEL/Graceful+Shutdown"
title="Graceful Shutdown">Graceful Shutdown</a> at runtime, which allows you to stop
the route in a more reliable and gentle way.</li>
	<li>Total overhaul of the <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
EIP, which now has better completion triggers, and supports pluggable repository. For example
to use <a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">camel-hawtdb</a>
as persistent store.</li>
	<li>Added <tt>removeHeaders</tt> to remove multiple headers, e.g. use <tt>removeHeaders("Camel*")</tt>
to remove all Camel related headers.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/Load+Balancer" title="Load Balancer">Failover
load balancer</a> to support round robin mode and a few other options as well.</li>
	<li>Fixed issue with Camel not being able to run deployed as a WAR in WebLogic server.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Polling+Consumer" title="Polling Consumer">Polling
Consumer</a> not working with <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
	<li><a href="/confluence/display/CAMEL/Content+Enricher" title="Content Enricher">pollEnrich</a>
now handover completions which means you can use the <tt>move</tt> like options
from <a href="/confluence/display/CAMEL/File2" title="File2">File or FTP</a> component.
For example to enrich with a file and have that file moved when the route completes.</li>
	<li>Added @Attachments annotation to Bean binding.</li>
	<li><a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
and <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a> language now
has a build in OGNL notation which allows you to reference from <tt>Map</tt> or
<tt>List</tt> structures and as well to invoke methods in a OGNL like notation.
See more details at <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
wiki page.</li>
	<li><a href="/confluence/display/CAMEL/Jetty" title="Jetty">camel-jetty</a>
supports the multipart/form post out of box.</li>
	<li><a href="/confluence/display/CAMEL/Graceful+Shutdown" title="Graceful Shutdown">Graceful
Shutdown</a> now shut down routes in the reverse order in which they was started. Option
<tt>shutdownRoutesInReverseOrder</tt> can be used to control this behavior.</li>
	<li><a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a> component
now allows you to chose which output type to use with the <tt>output</tt> option.
For example you can now stream directly to a file, for example when transforming very big
xml messages.</li>

<h3><a name="Camel2.3.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.3.0Release-NewComponents"></a>New <a href="/confluence/display/CAMEL/Components"

	<li><a href="/confluence/display/CAMEL/Nagios" title="Nagios">camel-nagios</a>
for sending passive checks to <a href="" rel="nofollow">Nagios</a></li>
	<li><a href="/confluence/display/CAMEL/Properties" title="Properties">properties</a>
for using property placeholders to resolve endpoint uris.</li>
	<li><a href="/confluence/display/CAMEL/GAE" title="GAE">camel-gae</a> extensions
		<li><a href="/confluence/display/CAMEL/gauth" title="gauth">gauth</a>
component for implementing <a href=""
rel="nofollow">OAuth</a> consumers.</li>
		<li><a href="/confluence/display/CAMEL/glogin" title="glogin">glogin</a>
component for programmatic login to Google App Engine applications from Java clients.</li>
	<li><a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">camel-hawtdb</a>
as persistent store for the <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>

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

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

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

	<li><a href="/confluence/display/CAMEL/SOAP" title="SOAP">SOAP</a> data
format provides basic webservice support without the CXF Stack</li>

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

<h3><a name="Camel2.3.0Release-NewExamples"></a>New <a href="/confluence/display/CAMEL/Examples"
	<li><a href="/confluence/display/CAMEL/Aggregate+Example" title="Aggregate Example">camel-example-aggregate</a>
shows the new overhauled <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
in use with persistence storage using <a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">HawtDB</a>.</li>

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

<p>The <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
has been overhauled and thus you need to migrate you Camel application if you use it.<br/>
See the <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
wiki page for which options it has you should use.</p>

<p>In <a href="/confluence/display/CAMEL/MINA" title="MINA">MINA</a> the
header key <tt>MinaConsumer.HEADER_CLOSE_SESSION_WHEN_COMPLETE</tt> is moved to
<tt>MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE</tt> </p>

<p><tt>org.apache.camel.spi.PollingConsumerPollStrategy</tt> now returns
a boolean in the <tt>begin</tt> method. Use <tt>true</tt> to accept
to begin polling, and <tt>false</tt> to skip polling at this time.</p>

<p>A new method <tt>onInit</tt> has been added to <tt>org.apache.camel.spi.RoutePolicy</tt>.</p>

<p>Added method <tt>removeHeaders</tt> on the <tt>org.apache.camel.Message</tt>

<p><tt>getExecutorService/setExecutorService</tt> have been removed from
<tt>DefaultComponent</tt> and <tt>DefaultEndpoint</tt>.<br/>
You should use <tt>CamelContext.getExecutorServiceStrategy()</tt> which is the
API for creating thread pools in Camel.</p>

<p>Changed <tt>Exception</tt> to <tt>Throwable</tt> on the <tt>org.apache.camel.spi.EventFactory</tt>
and the various <tt>xxxEvent</tt> objects as Camel now catches <tt>Throwable</tt>
on shutdown to ensure a more robust shutdown in case a <tt>Throwable</tt> was

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

<p>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.</p>

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

<p>The <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> endpoint
is now by default unbounded in size, where as before they had a default size of 1000.</p>

<p><a href="/confluence/display/CAMEL/HTTP" title="HTTP">camel-http</a>
has been upgraded to use Apache HTTP Client 4.0.1 from 3.1. These two versions is much different
how to configure, so you may have to migrate if you do any special or advanced configuration.
Consult the <a href="" rel="nofollow">Apache
HTTP Client documentation</a>. </p>

<p><a href="/confluence/display/CAMEL/Jetty" title="Jetty">camel-jetty</a>
has been upgraded to use Jetty 7.0.1 from 6.1.22. These two versions is much different as
7.x is moved to be hosted at Eclipse, which means all it package names has been renamed. </p>

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

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

<table class='confluenceTable'><tbody>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Download Link </th>
<th class='confluenceTh'> PGP Signature file of download </th>
<td class='confluenceTd'> Windows Distribution </td>
<td class='confluenceTd'> <a href=""
rel="nofollow"></a> </td>
<td class='confluenceTd'> <a href=""
rel="nofollow"></a> </td>
<td class='confluenceTd'> Unix/Linux/Cygwin Distribution </td>
<td class='confluenceTd'> <a href=""
rel="nofollow">apache-camel-2.3.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
rel="nofollow">apache-camel-2.3.0.tar.gz.asc</a> </td>
<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=""

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

<table class='confluenceTable'><tbody>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Download Link </th>
<th class='confluenceTh'> PGP Signature file of download </th>
<td class='confluenceTd'> Source for Windows </td>
<td class='confluenceTd'> <a href=""
rel="nofollow"></a> </td>
<td class='confluenceTd'> <a href=""
rel="nofollow"></a> </td>

<table class='confluenceTable'><tbody>
<td class='confluenceTd'> Source for Unix/Linux/Cygwin </td>
<td class='confluenceTd'> <a href=""
rel="nofollow">apache-camel-2.3.0-src.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
rel="nofollow">apache-camel-2.3.0-src.tar.gz.asc</a> </td>

<h3><a name="Camel2.3.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=""
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
  <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.3.0<span class="code-tag">&lt;/version&gt;</span>
<span class="code-tag">&lt;/dependency&gt;</span>

<h3><a name="Camel2.3.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">//</span>

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

<p>For a more detailed view of new features and bug fixes, see the:<br/>
TODO: Fix for 2.3.0</p>
	<li><a href=";styleName=Html&amp;version=11900"
rel="nofollow">release notes for 2.3.0</a></li>

     <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href=""
class="grey">Change Notification Preferences</a>

       <a href="">View
       <a href="">View
       <a href=";showCommentArea=true#addcomment">Add

View raw message