camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Camel 2.5.0 Release
Date Thu, 23 Sep 2010 13:34:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/1810/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.5.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" >h2. API breaking <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Some methods on the [File|File2] and [FTP|FTP2] endpoint/producer has been promoted from {{protected}}
to {{public}} to make it easy from Java code to re-use the functionally of those methods,
without using it as a Camel component. Such as when you want to communicate with a FTP server
using the API from the {{RemoteFileOperations}}. <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h2. Known Issues <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Camel2.5.0Release-Camel2.5.0release%28currentlyinprogress%29"></a>Camel
2.5.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.5.0Release-NewandNoteworthy"></a>New and Noteworthy</h2>

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

	<li>Added <tt>suspend/resume</tt> operations to <a href="/confluence/display/CAMEL/CamelContext"
title="CamelContext">CamelContext</a> for <em>warm</em> restarts, or
as the preferred way to temporary stop a running Camel application, and then later resume
it. Those operations is also available in <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a>.</li>
	<li>Improved management of routes in <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a>. You can now suspend/resume routes which support suspension.
There is a new <tt>removeRoute</tt> to remove a route from <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a>. Routes with <tt>autoStartup=false</tt> is
now also listed in <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">JMX</a>,
to allow you to start the routes manually.</li>
	<li>The <a href="/confluence/display/CAMEL/Asynchronous+Routing+Engine" title="Asynchronous
Routing Engine">Asynchronous Routing Engine</a> allows to be forced into synchronous
mode for certain components, by specifying <tt>synchronous=true</tt> in the endpoint
	<li><a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> now supports
MSV file systems. The ftp consumer will now traverse the directory structure using a <tt>cd
&lt;dir&gt;, list files in cur dir</tt> pattern, as opposed to a <tt>list
files &lt;dir&gt;</tt> style.</li>
	<li>Fixed issue with using multiple <a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>
endpoints with the only difference being <tt>httpClient</tt> parameters.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Stream+caching" title="Stream
caching">Stream caching</a> and deleting temporary files on Windows.</li>
	<li>Server thread pool settings can be configured on <a href="/confluence/display/CAMEL/Jetty"
title="Jetty">Jetty</a> component.</li>
	<li>Easier to configure general HTTP/SSL socket connector properties on <a href="/confluence/display/CAMEL/Jetty"
title="Jetty">Jetty</a> component.</li>
	<li>Fixed issue with sending an <tt>InOut</tt> message to <a href="/confluence/display/CAMEL/Dead+Letter+Channel"
title="Dead Letter Channel">Dead Letter Channel</a> would cause Camel to expect a
reply. Now the message will always be send to the DLQ as <tt>InOnly</tt>.</li>
	<li>Fixed issue when sending to a <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
destination, the option <tt>disableReplyTo</tt> was not used.</li>
	<li>Added two new functions to <a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a>
to leverage <a href="/confluence/display/CAMEL/Properties" title="Properties">Properties</a>
component and <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
	<li>Fixed issue when running <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
server under heavy load throwing <tt>IllegalStateException</tt></li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> uses <a
href="/confluence/display/CAMEL/Asynchronous+Routing+Engine" title="Asynchronous Routing Engine">Asynchronous
Routing Engine</a> for <a href="/confluence/display/CAMEL/Request+Reply" title="Request
Reply">Request Reply</a> messaging over JMS.</li>
	<li>Fixed issue with a route could mistakenly pick up a route scoped <a href="/confluence/display/CAMEL/Exception+Clause"
title="Exception Clause">OnException</a> from another route.</li>
	<li>Fixed an issue with starting <tt>CamelContext</tt> after it had been
shutdown, leading to routes not properly being re-initialized and started.</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 now
support using <tt>preMove</tt> together with either <tt>noop</tt>
or <tt>delete</tt> options.</li>
	<li>Added support for <tt>timeout</tt> in <a href="/confluence/display/CAMEL/Recipient+List"
title="Recipient List">Recipient List</a>, <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a> and <a href="/confluence/display/CAMEL/Multicast"
title="Multicast">Multicast</a> EIPs when running in parallel mode.</li>
	<li>Added support for 3rd part <a href="/confluence/display/CAMEL/UuidGenerator"
	<li>Reverted back to use ActiveMQ <a href="/confluence/display/CAMEL/UuidGenerator"
title="UuidGenerator">UuidGenerator</a> as default generator. Its faster than the
previous <tt>JavaUuidGenerator</tt>, especially in high concurrent systems.</li>
	<li><a href="/confluence/display/CAMEL/Velocity" title="Velocity">Velocity</a>
can now find template files from filesystem/classpath when referring to them from other templates.</li>
	<li>Fixed issue with multiple <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>
using same id being mixed as single <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>
in <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">JMX</a>. Camel
now fails to start if existing <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>
already have been registered in the MBeanServer.</li>
	<li>The <a href="/confluence/display/CAMEL/Message+Filter" title="Message Filter">Message
Filter</a> EIP now stores a property on the <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> to indicate if it was filtered or not.</li>
	<li><a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> supports
sending site commands after successful login.</li>
	<li><a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
language can now compare numeric values which was entered as String types.</li>
	<li>Fixed limitation where <a href="/confluence/display/CAMEL/Content+Enricher"
title="Content Enricher">PollEnrich</a> could not poll from a file endpoint if the
route started from a file endpoint as well.</li>
	<li>Fixed limitation with <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
language, before you could only use one <tt>and</tt> or <tt>or</tt>
operator. Now you can use multiple operators in the same expression.</li>
	<li><a href="/confluence/display/CAMEL/Restlet" title="Restlet">Restlet</a>
component now supports using { } placeholders in uri, which gets replaced with headers from
<a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>.</li>
	<li>Added <tt>dynamicRouter</tt> to the DSL to make it easier to do dynamic
routing using a <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a>
to evaluate <em>on-the-fly</em> the next destination(s).</li>
	<li>When sending a <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
message using InOnly but having a <tt>JMSReplyTo</tt> header configured, then
the <tt>JmsProducer</tt> will lookup/create the JMS Destination to ensure its
a valid <tt>JMSReplyTo</tt> from the header.</li>
	<li>Endpoint uris containing password is not logged in plaintext, but is now masked.</li>
	<li><a href="/confluence/display/CAMEL/Properties" title="Properties">Properties</a>
can now leverage <a href="/confluence/display/CAMEL/Jasypt" title="Jasypt">Jasypt</a>
allowing you to use encrypted values in your properties files.</li>
	<li>Trimmed down the size of the <a href="/confluence/display/CAMEL/Web+Console"
title="Web Console">Web Console</a> reducing the number of jars and removing the
groovy experimental editor. It now requires JDK 1.6 to run as well. We will in the future
improve the <a href="/confluence/display/CAMEL/Web+Console" title="Web Console">Web
Console</a> to contain more features and information.</li>
	<li>Added new <a href="/confluence/display/CAMEL/Language" title="Language">Language</a>
component to execute <a href="/confluence/display/CAMEL/Languages" title="Languages">Languages</a>
scripts when sending a message to a <tt>language</tt> endpoint. This makes it
easier to support <a href="/confluence/display/CAMEL/Dynamic+Router" title="Dynamic Router">Dynamic
Router</a> where small pieces of logic must be executed as well.</li>
	<li>Added <tt>charset</tt> option on the <a href="/confluence/display/CAMEL/File2"
title="File2">File</a>, <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a>
endpoint which dictates the encoding to use.</li>
	<li><a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a> consumer
and <a href="/confluence/display/CAMEL/CXFRS" title="CXFRS">CXFRS</a> consumer
will try to leverage CXF continuation API to call the camel process asynchronous API if it
is possible, and you can turn it off by setting the <tt>synchronous</tt> option
to <tt>true</tt>.</li>
	<li><a href="/confluence/display/CAMEL/CXF+Bean+Component" title="CXF Bean Component">CXF
Bean Component</a> now supports using customer providers configured by the <tt>providers</tt>
option on the <a href="/confluence/display/CAMEL/CXFRS" title="CXFRS">CXFRS</a>
	<li>Fixed <tt>ConsumerTemplate</tt> using <tt>receiveBody</tt>
methods to complete <a href="/confluence/display/CAMEL/OnCompletion" title="OnCompletion">OnCompletion</a>
beforehand. For example when using a <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
endpoint and having set <tt>delete=true</tt>, which now causes the file to be
	<li>Fixed <a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">HawtDB</a>
not working in OSGi</li>
	<li>Fixed dependency injection between <tt>&lt;bean&gt;</tt> and
<tt>&lt;camelContext&gt;</tt>, making it work as it did with Spring 2.5
when using Spring 3.0 instead. The <tt>&lt;bean&gt;</tt> will be dependency
injected before the <tt>&lt;camelContext&gt;</tt>.</li>
	<li>Optimized <a href="/confluence/display/CAMEL/Type+Converter" title="Type Converter">Type
Converter</a> when using <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
routing and/or conversions to <tt>String</tt> types which will fallback and lookup
<tt>PropertyEditor</tt> editors.</li>
	<li>Added <tt>LimitedPollingConsumerPollStrategy</tt> for <a href="/confluence/display/CAMEL/Polling+Consumer"
title="Polling Consumer">Polling Consumer</a>s as a limited strategy which suspends
consumers which causes consecutive failures. For example to avoid a faulty consumer to spam
logs etc. Uses a limit of 3.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
sending back HTTP headers using keys is lower-case. Not it preserves the case of the keys,
so it can be mixed case.</li>

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

	<li><a href="/confluence/display/CAMEL/Dynamic+Router" title="Dynamic Router">Dynamic
Router</a> is now available in the <a href="/confluence/display/CAMEL/DSL" title="DSL">DSL</a>
as well.</li>

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

	<li><a href="/confluence/display/CAMEL/Language" title="Language">Language</a></li>
	<li><a href="/confluence/display/CAMEL/Jasypt" title="Jasypt">Jasypt</a></li>
	<li><a href="/confluence/display/CAMEL/Shiro+Security" title="Shiro Security">Shiro
	<li><a href="/confluence/display/CAMEL/Sip" title="Sip">Sip</a></li>

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

	<li><a href="/confluence/display/CAMEL/Dynamic+Router" title="Dynamic Router">Dynamic

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

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

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

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


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

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

	<li>Some methods on the <a href="/confluence/display/CAMEL/File2" title="File2">File</a>
and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> endpoint/producer
has been promoted from <tt>protected</tt> to <tt>public</tt> to make
it easy from Java code to re-use the functionally of those methods, without using it as a
Camel component. Such as when you want to communicate with a FTP server using the API from
the <tt>RemoteFileOperations</tt>.</li>

<h2><a name="Camel2.5.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>

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

	<li>Support for <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
API 1.0.2 has been removed.</li>
	<li>The <tt>stopRoute</tt> method on <tt>CamelContext</tt>
now leverages <a href="/confluence/display/CAMEL/Graceful+Shutdown" title="Graceful Shutdown">Graceful
Shutdown</a> when stopping. This is more intuitive to stop routes in a graceful and
safe manner. You can the stop method with a timeout if you want to force stopping, which was
the old behavior.</li>
	<li>The <a href="/confluence/display/CAMEL/Web+Console" title="Web Console">Web
Console</a> now requires JDK 1.6 as minimum to run.</li>
	<li>The artifacts <tt>camel-core-tests.jar</tt> and <tt>camel-spring-tests.jar</tt>
has been <b>deprecated</b> and will be removed in a future release. You should
always only use the <tt>camel-test.jar</tt> if you want to use the Camel Test
	<li>Camel will now fail to startup if an existing CamelContext has been registered
in JMX with the same id.</li>
	<li>If you did not set a id on <tt>&lt;camelContext&gt;</tt> it
would have defaulted to <tt>camelContext</tt>. This has been changed to be the
auto assigned name it's given by Camel, such as <tt>camel-1</tt>, <tt>camel-2</tt>
	<li>Maven version 2.2.1 or better is now required to build Camel from source.</li>
	<li>If using <a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
with jobs persisted in a database, then mind that Camel now resolves job names based on endpoint
uri, <em>without</em> parameters. This allows you to change cron parameters on
the same job (reschedule jobs).</li>
	<li>The <tt>timeout</tt> option on <a href="/confluence/display/CAMEL/Netty"
title="Netty">Netty</a> has been removed as it was flawed.</li>
	<li>Durable topic subscribers with <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
must now provide <tt>clientId</tt>, otherwise Camel will fail fast on startup.</li>
	<li>The default <a href="/confluence/display/CAMEL/UuidGenerator" title="UuidGenerator">UuidGenerator</a>
has been changed back to be ActiveMQ based. If you run in the cloud you may have to configure
to use the old default <tt>JavaUuidGenerator</tt> as the ActiveMQ may use JDK
API which is not accessible in the cloud.</li>

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

<h3><a name="Camel2.5.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.5.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.5.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.5.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.5.0-src.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.5.0-src.tar.gz.asc</a> </td>

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

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