camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Camel 2.8.0 Release
Date Sat, 07 May 2011 15:40:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/2042/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.8.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" >* Added 2 new [Camel Maven Archetypes]
for OSGi using spring-dm or blueprint <br>* The [Log] component will now by default
*not* show stream message bodies. Use the new {{showStreams}} option to enable that explicit.
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Improved startup time of Camel by hard loading type converters from {{camel-core}} JAR <br>*
Made unit testing the Camel [Source] go faster <br>* The Camel [test kit|Testing] will
now by default lazy load type converters which makes unit testing faster for most tests. <br></td></tr>
            <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.8.0Release-Camel2.8.0release%28currentlyinprogress%29"></a>Camel
2.8.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.8.0Release-NewandNoteworthy"></a>New and Noteworthy</h2>

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

	<li>Fixed the OGNL support of <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
language to support dots in key for map access.</li>
	<li>You can now specify <a href="/confluence/display/CAMEL/Bean+Binding" title="Bean
Binding">type parameters</a> in <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>
to exact select method to be used when having overloaded methods (overloaded methods have
same name, but vary in parameter types).</li>
	<li>The <a href="/confluence/display/CAMEL/FTP" title="FTP">SFTP</a> component
now allows you to customize keep alive settings.</li>
	<li>Fixed issue if explict setting <tt>JmsMessage</tt> body to <tt>null</tt>
would cause Camel to re-initialize the body from the underlying <tt>javax.jms.Message</tt>
on access again.</li>
	<li><a href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a> endpoints
is now lenient, which means its easier to replace components with <a href="/confluence/display/CAMEL/Mock"
title="Mock">Mock</a> for testing purposes. Using uri parameters which the <a
href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a> endpoint wont no longer
complain about being unknown parameters.</li>
	<li>Camel places a breadcrumb header in the Camel <a href="/confluence/display/CAMEL/Message"
title="Message">Message</a> which allow us to keep track of messages across transports
such as <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>, <a href="/confluence/display/CAMEL/HTTP"
title="HTTP">HTTP</a> and many others. See more details at <a href="/confluence/display/CAMEL/MDC+logging"
title="MDC logging">MDC logging</a>.</li>
	<li>Improved <a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a>
to allow GC to kick-in a bit earlier to free memory as Camel will clear references to used
<a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>s used
during <a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a> evaluations.</li>
	<li>Fixed an issue using <a href="/confluence/display/CAMEL/FTP" title="FTP">FTP</a>
endpoints with the <a href="/confluence/display/CAMEL/Intercept" title="Intercept">interceptSendToEndpoint</a></li>
	<li><a href="/confluence/display/CAMEL/Using+CamelProxy" title="Using CamelProxy">Camel
Proxy</a> supports asynchronous invocations using <tt>Future</tt> handles.</li>
	<li>The <a href="/confluence/display/CAMEL/How+do+I+configure+the+maximum+endpoint+cache+size+for+CamelContext"
title="How do I configure the maximum endpoint cache size for CamelContext">endpoint cache</a>
can be configured on <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>.</li>
	<li><a href="/confluence/display/CAMEL/Cometd" title="Cometd">Cometd</a>
supports custom security policy and extensions as <a href=""
class="external-link" rel="nofollow">documented here</a></li>
	<li>Caches such as <tt>ProducerCache</tt> and <tt>EndpointRegistry</tt>
can now be purged from <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">JMX</a>.</li>
	<li>Added stats for number of redeliveries and handled failures to JMX.</li>
	<li>Added support for <a href="/confluence/display/CAMEL/camel-jboss" title="camel-jboss">JBoss
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> consumer
uses <tt>CACHE_AUTO</tt> for default cache level. This ensure that it will automatic
detect if its transacted and use <tt>CACHE_NONE</tt> which must be used for transacted.
And <tt>CACHE_CONSUMER</tt> for non transacted.</li>
	<li>Improved <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>
in parallel mode to be more responsive when aggregating on-the-fly under high load, and reducing
number of threads in-use.</li>
	<li>Added <tt>onPrepare</tt> to <a href="/confluence/display/CAMEL/Multicast"
title="Multicast">Multicast</a>, <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a>, <a href="/confluence/display/CAMEL/Recipient+List"
title="Recipient List">Recipient List</a>, and <a href="/confluence/display/CAMEL/Wire+Tap"
title="Wire Tap">Wire Tap</a> to execute custom logic when preparing messages. For
example you can use that to deep clone message bodies, or enrich messages before they are
	<li>Added <tt>CamelSqlQuery</tt> header to <a href="/confluence/display/CAMEL/SQL+Component"
title="SQL Component">SQL Component</a> to specify (per exchange) SQL query.</li>
	<li><tt><a href="/confluence/display/CAMEL/Cache" title="Cache">camel-cache</a></tt>
now works in OSGi.</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">HawtDB</a>
file store growing to large.</li>
	<li>Added <tt>repeatCount</tt> option to <a href="/confluence/display/CAMEL/Timer"
title="Timer">Timer</a> so you can limit the number of times it fires.</li>
	<li>Consuming from <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
will now uses default exchange ids, instead of overring and uses ids based on <tt>JMSMessageID</tt>.
This makes exchange ids consistent with all components in Camel.</li>
	<li>The <tt>camel-script</tt> component now works in OSGi and being able
to discover and use <tt>ScriptEngineFactory</tt> from bundles.</li>
	<li><a href="/confluence/display/CAMEL/Restlet" title="Restlet">Restlet</a>
producer now supports the <a href="/confluence/display/CAMEL/Asynchronous+Routing+Engine"
title="Asynchronous Routing Engine">Asynchronous Routing Engine</a></li>
	<li><a href="/confluence/display/CAMEL/Throttler" title="Throttler">Throttler</a>
now uses an <a href="/confluence/display/CAMEL/Expression" title="Expression">Expression</a>
for the maximum messages per period, which means it can be adjusted dynamic at runtime.</li>
	<li><a href="/confluence/display/CAMEL/Cache" title="Cache">Cache</a> now
supports replicating cache across nodes using listeners.</li>
	<li><a href="/confluence/display/CAMEL/Cache" title="Cache">Cache</a> headers
are now prefixed with 'CamelCache' and use mixed case, also they are removed from the exchange
after a cache operation is performed</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/XMPP" title="XMPP">XMPP</a>
being redeployed (hot-deploy) in Apache ServiceMix may fail.</li>
	<li><a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a> uses case-insensitive
keys for CXF protocol headers, which Apache CXF itself also uses.</li>
	<li>Fixed issue with stopping context scoped <a href="/confluence/display/CAMEL/Error+Handler"
title="Error Handler">Error Handler</a> if a route was stopped, for example using
<a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">JMX</a>.</li>
	<li>Updated documentation of each <a href="/confluence/display/CAMEL/EIP" title="EIP">EIP</a>
to include a table with the options they support.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/AWS-SQS" title="AWS-SQS">AWS&#45;SQS</a>,
<a href="/confluence/display/CAMEL/AWS-SNS" title="AWS-SNS">AWS&#45;SNS</a>
and <a href="/confluence/display/CAMEL/AWS-S3" title="AWS-S3">AWS&#45;S3</a>
components to be able to configure the region with which the Amazon client wants to work with.</li>
	<li>The <tt>testConnectionOnStartup</tt> option on <a href="/confluence/display/CAMEL/JMS"
title="JMS">JMS</a> now also checks JMS producers as well.</li>
	<li>Upgraded <a href="/confluence/display/CAMEL/Cometd" title="Cometd">Cometd</a>
from 1.0.1 to 2.1.0</li>
	<li><a href="/confluence/display/CAMEL/Message+Filter" title="Message Filter">Message
Filter</a> EIP now fail on startup if it was mis-configured in XML DSL</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Content+Based+Router" title="Content
Based Router">Content Based Router</a> in <a href="/confluence/display/CAMEL/Scala+DSL"
title="Scala DSL">Scala DSL</a> not evaluating as <a href="/confluence/display/CAMEL/Predicate"
	<li>Improved the <a href="/confluence/display/CAMEL/JDBC" title="JDBC">JDBC</a>
component to not leave the database in an inconsistent state if one of multiple updates fails.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
consumer may report a class cast exception at WARN level during processing a message.</li>
	<li>Removed not needed type conversion attempts by <tt>camel-jaxb</tt>,
when routing messages to <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>s,
for JAXB annotated payloads</li>
	<li>Optimized routing with <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>
	<li>Fixed an issue when restarting routes with scheduled polling consumers having <tt></tt>
properties configured. The <tt></tt> properties would be lost on restart.</li>
	<li>Added fallback to <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
component, to do a copy/delete if a native file rename fails. This may happen if you rename
files between different file systems such as linux -&gt; shared windows directory.</li>
	<li>Minor improvements to <a href="/confluence/display/CAMEL/Scala+DSL" title="Scala
DSL">Scala DSL</a></li>
	<li><a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
EIP will now by default uses eager completion check when grouped exchange has been enabled.</li>
	<li>Internal Camel caches now uses a <a href=""
class="external-link" rel="nofollow">SoftReference</a> which allows the JVM to be
able to garbage collection from the cache in case its running out of memory. This should help
Camel end users when running in low memory systems.</li>
	<li>Added 2 new <a href="/confluence/display/CAMEL/Camel+Maven+Archetypes" title="Camel
Maven Archetypes">Camel Maven Archetypes</a> for OSGi using spring-dm or blueprint</li>
	<li>The <a href="/confluence/display/CAMEL/Log" title="Log">Log</a> component
will now by default <b>not</b> show stream message bodies. Use the new <tt>showStreams</tt>
option to enable that explicit.</li>
	<li>Improved startup time of Camel by hard loading type converters from <tt>camel-core</tt>
	<li>Made unit testing the Camel <a href="/confluence/display/CAMEL/Source" title="Source">Source</a>
go faster</li>
	<li>The Camel <a href="/confluence/display/CAMEL/Testing" title="Testing">test
kit</a> will now by default lazy load type converters which makes unit testing faster
for most tests.</li>

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

	<li><a href="/confluence/display/CAMEL/AWS-SNS" title="AWS-SNS">AWS&#45;SNS</a></li>
	<li><a href="/confluence/display/CAMEL/AWS-S3" title="AWS-S3">AWS&#45;S3</a></li>
	<li><a href="/confluence/display/CAMEL/Camel+Test" title="Camel Test">TestNG</a></li>

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

	<li><a href="/confluence/display/CAMEL/Wire+Tap" title="Wire Tap">Wire Tap</a>
has now fluent builders in Java DSL to make it easier to configure.</li>
	<li><a href="/confluence/display/CAMEL/Wire+Tap" title="Wire Tap">Wire Tap</a>
can now set headers directly in the DSL when using the send new message mode.</li>
	<li>Added <tt>skipDuplicate</tt> option to <a href="/confluence/display/CAMEL/Idempotent+Consumer"
title="Idempotent Consumer">Idempotent Consumer</a> EIP to allow end users to handle
duplicate messages more easily in Camel routes.</li>
	<li><a href="/confluence/display/CAMEL/Throttler" title="Throttler">Throttler</a>
now uses an <a href="/confluence/display/CAMEL/Expression" title="Expression">Expression</a>
to set the maximum requests per period, allow that to be dynamic evaluated at runtime. This
means you need to migrate if you use XML DSL.</li>

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

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

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

<h3><a name="Camel2.8.0Release-NewExamples"></a>New <a href="/confluence/display/CAMEL/Examples"
	<li><a href="/confluence/display/CAMEL/CXF+Example+OSGi" title="CXF Example OSGi">CXF
Example OSGi</a></li>

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

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

	<li>Added <tt>purge</tt> method to <tt>ServicePool</tt></li>
	<li>If you use <a href="/confluence/display/CAMEL/Wire+Tap" title="Wire Tap">Wire
Tap</a> from within a <a href="/confluence/display/CAMEL/Content+Based+Router" title="Content
Based Router">Content Based Router</a> in Java DSL, then you need to use <tt>end()</tt>
to indicate the end of the <a href="/confluence/display/CAMEL/Wire+Tap" title="Wire Tap">Wire
Tap</a>. See this <a href=""
class="external-link" rel="nofollow">test</a></li>
	<li><tt>WireTapDefinition</tt> no longer extends from <tt>SendDefinition</tt></li>
	<li>Removed <tt>maximumRequestsPerPeriod</tt> attribute on <a href="/confluence/display/CAMEL/Throttler"
title="Throttler">&lt;throttle&gt;</a> in XML DSL. You should use an <a
href="/confluence/display/CAMEL/Expression" title="Expression">Expression</a> instead,
such as <tt>&lt;constant&gt;10&lt;/constant&gt;</tt></li>
	<li><a href="/confluence/display/CAMEL/Cache" title="Cache">Cache</a> headers
are now prefixed with 'CamelCache' (see CacheConstants) and are removed from the exchange
after the cache operation is performed</li>
	<li><a href="/confluence/display/CAMEL/Scala+DSL" title="Scala DSL">Scala DSL</a>
uses 'Camel case names' for its DSL to be consistent and aligned with the Java DSL</li>

<h2><a name="Camel2.8.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>The project cannot fully build the site using Maven (eg running <tt>"mvn
site"</tt>. There is no plan to make this work as the project do not use the maven site.</li>
	<li>The <tt>camel-spring-ws</tt> feature does not work in Apache ServiceMix
or Apache Karaf.</li>

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

	<li>Upgraded to slf4j 1.6.1</li>
	<li>Upgraded to Apache CXF 2.4.0 (CXF 2.3.x or older is no longer supported)</li>
	<li>The <tt>testConnectionOnStartup</tt> option on <a href="/confluence/display/CAMEL/JMS"
title="JMS">JMS</a> now also checks JMS producers as well.</li>
	<li>Fixed <tt>InterceptStrategy</tt> to pass in actual <tt>OutputDefinition</tt>.
For example in a route with a <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>,
it would now pass in the children of the splitter, in the <tt>wrapProcessorInInterceptors</tt>
	<li>The <a href="/confluence/display/CAMEL/Log" title="Log">Log</a> component
will now by default <b>not</b> show stream message bodies. Use the new <tt>showStreams</tt>
option to enable that explicit. Likewise the <a href="/confluence/display/CAMEL/Log" title="Log">Log</a>
component will <b>not</b> automatic convert the payload to <tt>StreamCache</tt>.
For that you need to explicit enable <a href="/confluence/display/CAMEL/Stream+caching"
title="Stream caching">Stream caching</a> on the route or CamelContext.</li>

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

<h3><a name="Camel2.8.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.8.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.8.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.8.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.8.0-src.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.8.0-src.tar.gz.asc</a> </td>

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

<h3><a name="Camel2.8.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.8.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"
class="external-link" rel="nofollow">release notes for 2.8.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