camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Camel 2.7.0 Release
Date Mon, 28 Feb 2011 15:29:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/2036/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
<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="">Camel
2.7.0 Release</a></h2>
    <h4>Page <b>edited</b> by             <a href="">Claus
                         <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" >* {{&lt;threadPoolProfile&gt;}}
and {{&lt;threadPool&gt;}} is now easier to use with [property placeholders|Using
PropertyPlaceholder] <br>* [Properties] component now supports JVM system properties
and OS environment variables in the locations option. For example using {{&quot;file:$\{karaf.home\}/etc/;}}
to refer to the {{foo.proeprties}} file in the [Apache Karaf|] installation.
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Fixed an issue with [Recipient List] in parallel mode, not reusing background aggregator thread
            <tr><td class="diff-unchanged" > <br>h3. New [Enterprise Integration
Patterns] <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Camel2.7.0Release-Camel2.7.0release%28currentlyinprogress%29"></a>Camel
2.7.0 release (currently in progress)</h1>

<div style="padding-right:20px;float:left;margin-left:-20px;"><p><span class="image-wrap"
style=""><img src=""
style="border: 0px solid black" /></span></p></div>
<div style="min-height:200px"></div>

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

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

<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>Dependency
changes</b><br />The Camel 2.7.0 release has a number of major dependency changes:
<ul class="alternate" type="square">
	<li>JDK 1.6+ is now required</li>
	<li>Spring 3.x+ is now required if using Spring</li>
	<li><a href="" class="external-link" rel="nofollow">slf4j</a>
is used as logger instead of commons logging</li>

<p>In other words support for JDK 1.5 and Spring 2.x has been dropped.</p></td></tr></table></div>

	<li>Switched to use <a href="" class="external-link" rel="nofollow">slf4j</a>
as the logger instead of commons logging.</li>
	<li>Camel now checks state of <tt>Service</tt> during starting/stopping
the <a href="/confluence/display/CAMEL/Lifecycle" title="Lifecycle">Lifecycle</a>
of the <tt>Service</tt>. This avoids double starting/stopping in case the service
was already in the desired state.</li>
	<li>Added support for <a href="/confluence/display/CAMEL/MDC+logging" title="MDC
logging">MDC logging</a> with Camel</li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> consumer
now eager checks if Camel is shutting down and signals that to its <tt>DefaultMessageListenerContainer</tt>
which avoids trying to re-connect/failover during shutdown.</li>
	<li>Introduced option to automatic <a href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a>
endpoints during testing. This makes testing without having to add <a href="/confluence/display/CAMEL/Mock"
title="Mock">Mock</a> endpoints in your routes a breeze. See more details at <a
href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a> component documentation.</li>
	<li>Added <tt>assertPeriod</tt> option to <a href="/confluence/display/CAMEL/Mock"
title="Mock">Mock</a> endpoint, which is a period im milliseconds, that the <a
href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a> will pause and then re-assert
itself to ensure the assertion is still valid. This can be used as a threshold when testing
with expectations that <b>exactly</b> a given number of messages should arrive
on the <a href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a> endpoint.</li>
	<li>Added <tt>arrives</tt> DSL to <a href="/confluence/display/CAMEL/Mock"
title="Mock">Mock</a> endpoint to allow you to setup expectations about timespan
between messages arriving on the <a href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a>
endpoint. See more details at <a href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a>
component documentation.</li>
	<li><a href="/confluence/display/CAMEL/HTTP4" title="HTTP4">HTTP4</a> is
upgraded to use Apache HttpClient 4.1</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
consumer having absolute starting directory and using absolute paths in the <tt>move</tt>
option as well</li>
	<li>Fixed concurrent append to the same file in the <a href="/confluence/display/CAMEL/File2"
title="File2">File</a> producer</li>
	<li>Fixed issue with restarting <a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
causing a failure due trigger name already exists issue for stateful jobs.</li>
	<li>Its now possible to use multiple QuartzScheduler's when deploying multiple Camel
applications in the same JVM classloader.</li>
	<li><a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
update checker is now always disabled, see more <a href=""
class="external-link" rel="nofollow">details here</a></li>
	<li>Fixed potential issue installing <tt>camel-ftp</tt> feature in Apache
	<li>New <tt>JdbcMessageIdRepository</tt> for the idempotent consumer EIP
in <a href="/confluence/display/CAMEL/SQL+Component" title="SQL Component">SQL</a></li>
	<li>Relaxed how aggressive Camel was registering services as MBeans in JMX. Now Camel
will by default only registeres MBeans when starting <a href="/confluence/display/CAMEL/CamelContext"
title="CamelContext">CamelContext</a> or starting new routes. This avoids registering
too many MBeans if using dynamic <a href="/confluence/display/CAMEL/EIP" title="EIP">EIP</a>
patterns such as <a href="/confluence/display/CAMEL/Recipient+List" title="Recipient List">Recipient
List</a> using different endpoint urls, causing new endpoints and its associated services
to be registered in JMX. This would keep growing over time and consume memory as well. You
can use the <tt>registerAlways</tt> or <tt>registerNewRoutes</tt>
options on <tt>ManagementAgent</tt> to control this behavior. See <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">Camel JMX</a> for more details.</li>
	<li>Redelivery policy and OnException now supports <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder"
title="Using PropertyPlaceholder">property placeholders</a> in both Java and XML
	<li>Introduced <a href="/confluence/display/CAMEL/RedeliveryPolicy" title="RedeliveryPolicy"><tt>&lt;redeliveryPolicyProfile&gt;</tt></a>
to easily define common profiles for <a href="/confluence/display/CAMEL/RedeliveryPolicy"
title="RedeliveryPolicy">redelivery policies</a>, which you can refer to from <tt>&lt;errorHandler&gt;</tt>
or <tt>&lt;onException&gt;</tt> using the <tt>redeliveryPolicyRef</tt>
attribute. Also Spring Frameworks property placeholders works with <tt>&lt;redeliveryPolicyProfile&gt;</tt>.</li>
	<li>Improved the XML based <a href="/confluence/display/CAMEL/Error+Handler" title="Error
Handler">Error Handler</a>s to validate configuration on startup, to fail if they
have been misconfigured.</li>
	<li><a href="/confluence/display/CAMEL/SpringIntegration" title="SpringIntegration">Spring
Integration</a> is upgraded to Spring Integration 2.0.</li>
	<li><a href="/confluence/display/CAMEL/Spring+Web+Services" title="Spring Web Services">Spring
Web Services</a> is upgraded to Spring Web Services 2.0.</li>
	<li>Added <tt>endChoice()</tt> to the Java DSL to be able to use any <a
href="/confluence/display/CAMEL/EIP" title="EIP">EIP</a>s inside the <a href="/confluence/display/CAMEL/Content+Based+Router"
title="Content Based Router">Content Based Router</a>. See more <a href="/confluence/display/CAMEL/Why+can+I+not+use+when+or+otherwise+in+a+Java+Camel+route"
title="Why can I not use when or otherwise in a Java Camel route">details here</a></li>
	<li><a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Property
placeholders</a> can now be use for any kind of attributes/options in the <a href="/confluence/display/CAMEL/EIP"
title="EIP">EIP</a>s in the Camel routes. For example in the Spring XML file you
can now use placeholders for timeout attributes etc. This is possible using the specialized
placeholder namespace. See more details at the <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder"
title="Using PropertyPlaceholder">Using PropertyPlaceholder</a> wiki page. In the
Java DSL there is a new <tt>placeholder</tt> option on each <a href="/confluence/display/CAMEL/EIP"
title="EIP">EIP</a> you can leverage.</li>
	<li>The <tt>camel-jdbc-aggregator</tt> component is merged into the <tt>camel-sql</tt>
	<li>Fix in <a href="/confluence/display/CAMEL/Mail" title="Mail">Mail</a>
component for duplicate attachments.</li>
	<li>Maven 3 is now supported for building</li>
	<li>Tidy up the XML DSL to not allow nesting tags where it doesn't make sense.</li>
	<li>Internal cleanup in route preparation logic to be fully shared for all DSLs (before
the XML DSLs and Java DSL was a bit different)</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Intercept" title="Intercept">InterceptFrom</a>
to work with from endpoints defined using ref's or instances (eg everything but uris)</li>
	<li>Fixed <a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>
and <a href="/confluence/display/CAMEL/HTTP4" title="HTTP4">HTTP4</a> producers
double encoding endpoint uri, when calling external service</li>
	<li>Fixed <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> producer
not working with OracleAQ throwing exception on accessing <tt>JMSReplyTo</tt></li>
	<li>Added support for using <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder"
title="Using PropertyPlaceholder">OSGi Blueprint property placeholder</a> service
with Camel routes. Camel uses convention over configuration so all you have to do is to define
the OSGi blueprint placeholder and you can refer to those from the <tt>&lt;camelContext&gt;</tt>.
Pay attention to the placeholder tokens using by Camel is {{ }}.</li>
	<li><tt>&lt;threadPoolProfile&gt;</tt> and <tt>&lt;threadPool&gt;</tt>
is now easier to use with <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder"
title="Using PropertyPlaceholder">property placeholders</a></li>
	<li><a href="/confluence/display/CAMEL/Properties" title="Properties">Properties</a>
component now supports JVM system properties and OS environment variables in the locations
option. For example using <tt>"file:${karaf.home}/etc/"</tt> to
refer to the <tt>foo.proeprties</tt> file in the <a href=""
class="external-link" rel="nofollow">Apache Karaf</a> installation.</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/Recipient+List" title="Recipient
List">Recipient List</a> in parallel mode, not reusing background aggregator thread</li>

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

	<li><a href="/confluence/display/CAMEL/Context" title="Context">Context</a></li>
	<li><a href="/confluence/display/CAMEL/Hazelcast+Component" title="Hazelcast Component">Hazelcast</a></li>
	<li><a href="/confluence/pages/createpage.action?spaceKey=CAMEL&amp;title=DNS&amp;linkCreation=true&amp;fromPageId=25200081"
	<li><a href="/confluence/display/CAMEL/MyBatis" title="MyBatis">MyBatis</a></li>

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

	<li><tt>&lt;setFaultBody&gt;</tt> added to XML DSL</li>
	<li><tt>endChoice</tt> added to Java DSL</li>
	<li><tt>placeholder</tt> added to Java DSL</li>

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


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


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

	<li><a href="/confluence/display/CAMEL/SpEL" title="SpEL">Spring Expression Language</a></li>

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


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


<h3><a name="Camel2.7.0Release-NewArchetypesCamelMavenArchetypes"></a>New
<a href="/confluence/display/CAMEL/Camel+Maven+Archetypes" title="Camel Maven Archetypes">Archetypes</a></h3>

	<li><tt>camel-archetype-light-war</tt> added to generate a project to deploy
camel routes as a WAR</li>

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

	<li><tt>FATAL</tt> has been removed from <tt>org.apache.camel.LoggingLevel</tt>.
Use <tt>ERROR</tt> instead.</li>
	<li><tt>org.apache.camel.processor.Logger</tt> has been renamed to <tt>org.apache.camel.processor.CamelLogger</tt>,
and it now uses <a href="" class="external-link" rel="nofollow">slf4j</a>
as the logger.</li>
	<li>Removed <tt>getLeftValue</tt> and <tt>getRightValue</tt>
methods on <tt>BinaryPredicate</tt>.</li>
	<li>The <tt>ref</tt> attribute on <tt>&lt;redeliveryPolicy&gt;</tt>
has been removed. Instead use <tt>redeliveryPolicyRef</tt> attribute on <tt>&lt;onException&gt;</tt>
or <tt>&lt;errorHandler&gt;</tt> tags.</li>
	<li>The <tt>&lt;batch-config&gt;</tt> and <tt>&lt;stream-config&gt;</tt>
tags in XML DSL in the <a href="/confluence/display/CAMEL/Resequencer" title="Resequencer">Resequencer</a>
EIP must now be configured in the top, and not in the bottom. So if you use those, then move
them up just below the <tt>&lt;resequence&gt;</tt> <a href="/confluence/display/CAMEL/EIP"
title="EIP">EIP</a> starts in the XML.</li>
	<li>The <tt>JdbcAggregationRepository</tt> is moved from the <tt>camel-jdbc-aggregator</tt>
component to the <tt>camel-sql</tt> component. The full qualified class name changed
from <tt>org.apache.camel.component.jdbc.aggregationRepository.JdbcAggregationRepository</tt>
to <tt>org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository</tt>.</li>
	<li><tt>sortBody</tt> methods removed from Java DSL. You can use <tt>sort(body())</tt>
	<li>The <a href="/confluence/display/CAMEL/Sort" title="Sort">Sort</a>
EIP in XML DSL is now configured the expression directly. Which means you no longer need to
use <tt>&lt;expression&gt;</tt> enclosing the expression. Instead you
set the expression directly, just as the other <a href="/confluence/display/CAMEL/EIP"
title="EIP">EIP</a>s does.</li>
	<li>Method <tt>parsePropertyValue</tt> renamed to <tt>parseProperty</tt>
and have additional parameters in the <tt>PropertiesParser</tt> interface.</li>

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

	<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>Not all <a href="/confluence/display/CAMEL/Examples" title="Examples">Examples</a>
have ANT build.xml files to run the example using ANT.</li>
	<li><tt>camel-script</tt> which uses <tt>ScriptEngineManager</tt>
from the JDK, cannot load script engines from packages outside the JDK.</li>
	<li>Stopping a route after using <tt>adviceWith</tt> maybe cause issues
with error handlers, see <a href="" class="external-link"

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

	<li>Java 1.6 or better is required</li>
	<li>Spring 3.0.x or better is required, when using Spring</li>
	<li>Apache CXF 2.3.2 or better is required, when using CXF</li>
	<li>Switched to use <a href="" class="external-link" rel="nofollow">slf4j</a>
as the logger instead of commons logging. That means you may have to included <tt>slf4j-log4j12</tt>
as dependency if you are using log4j.<br/>
  See documentation at <a href="" class="external-link" rel="nofollow">slf4j</a>
for more details.</li>
	<li>If you have developed custom Camel <a href="/confluence/display/CAMEL/Component"
title="Component">Component</a>s and your <tt>Endpoint</tt> class extends
<tt>DefaultEndpoint</tt> then its advised to use the <tt>doStart</tt>
and <tt>doStop</tt> instead of <tt>start</tt> and <tt>stop</tt>.</li>
	<li>camel-cxf endpoint will copy the attachments between the camel message and cxf
message when it works in POJO data format, please access the attachment objects from the camel
message body.</li>
	<li><a href="/confluence/display/CAMEL/Restlet" title="Restlet">camel-restlet</a>
has been upgraded from Restlet 1.1.x to 2.0.5</li>

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

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

<div class='table-wrap'>
<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=""
class="external-link" rel="nofollow"></a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow"></a> </td>
<td class='confluenceTd'> Unix/Linux/Cygwin Distribution </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.7.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.7.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 />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="" class="external-link"

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

<div class='table-wrap'>
<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=""
class="external-link" rel="nofollow"></a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow"></a> </td>

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

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

<h3><a name="Camel2.7.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.7.0Release-Changelog"></a>Changelog</h2>

<p>For a more detailed view of new features and bug fixes, see the:</p>
	<li><a href=";styleName=Html&amp;version=12316021"
class="external-link" rel="nofollow">release notes for 2.7.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