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.6.0 Release
Date Mon, 28 Feb 2011 15:24:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2036/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<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="https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.6.0+Release">Camel
2.6.0 Release</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~davsclaus">Claus
Ibsen</a>
    </h4>
        <br/>
                         <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" >* Installing {{camel-ftp}} feature
in Apache ServiceMix may cause issue. See [here|http://fusesource.com/forums/thread.jspa?threadID=2654&amp;tstart=0]
for more details and workaround. <br>* [Splitter] in parallel mode may block if empty
body as input. See [CAMEL-3685|https://issues.apache.org/jira/browse/CAMEL-3685] <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
[Recipient List] in parallel mode doesn&#39;t reuse background aggregator thread. See
[CAMEL-3727|https://issues.apache.org/jira/browse/CAMEL-3727] <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h2. Important changes to
consider when upgrading <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Camel2.6.0Release-Camel2.6.0release"></a>Camel 2.6.0
release</h1>

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

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

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

<ul>
	<li>Fixed issue in OSGi with refreshing Camel bundles causing a race condition when
discovering type converters</li>
	<li>Introduced <a href="/confluence/display/CAMEL/ScheduledRoutePolicy" title="ScheduledRoutePolicy">ScheduledRoutePolicy</a>
with the <a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
component</li>
	<li>Java DSL <a href="/confluence/display/CAMEL/RouteBuilder" title="RouteBuilder">RouteBuilder</a>
now fails if <tt>onException</tt> and the likes are not configured before routes,
which they must.</li>
	<li>Easier to debug routes from <tt>camel-test</tt> using the <a href="/confluence/display/CAMEL/Debugger"
title="Debugger">Debugger</a></li>
	<li>Fixed problem installing <tt>camel-cxf</tt> feature on Apache Karaf.</li>
	<li>The <a href="/confluence/display/CAMEL/EIP" title="EIP">EIP</a> now
supports <a href="/confluence/display/CAMEL/Properties" title="Properties">property
placeholders</a> in the <tt>String</tt> based options (a few spots in Java
DSL where its not possible). For example: 
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;convertBodyTo type=<span
class="code-quote">"String"</span> charset=<span class="code-quote">"{{foo.myCharset}}"</span>/&gt;</span></pre>
</div></div></li>
	<li>Introduced <a href="/confluence/display/CAMEL/ScheduledRoutePolicy" title="ScheduledRoutePolicy">ScheduledRoutePolicy</a>
to allow you to schedule when routes should be active.</li>
	<li>Introduced <tt>stepwise</tt> option to <a href="/confluence/display/CAMEL/FTP2"
title="FTP2">FTP</a> component to allow end users to control how to traverse directories
of the FTP servers. This allows you to set <tt>stepwise=false</tt> to return back
to the behavior from Camel 2.0 - 2.4. See more at the <a href="/confluence/display/CAMEL/FTP2"
title="FTP2">FTP</a> documentation.</li>
	<li>Added <tt>separator</tt> option to <a href="/confluence/display/CAMEL/FTP2"
title="FTP2">FTP</a> component to allow end users to control what path separator
to use when uploading files to remote FTP servers. For example if a Windows based FTP server
only accept Windows paths, then you can set this option to <tt>Windows</tt>.</li>
	<li><a href="/confluence/display/CAMEL/Threading+Model" title="Threading Model">Thread
names</a> now outputs <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>
name which makes it easier to differentiate when running multiple Camel applications in the
same JVM.</li>
	<li>Introduced <tt>contentCache</tt> option to <a href="/confluence/display/CAMEL/XSLT"
title="XSLT">XSLT</a> component to allow easy reloading of stylesheets during development.</li>
	<li>Improved <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">Camel
JMX</a> to always find next free name when registering in JMX and existing name exists
(to remedy name clash). This makes it easier when deploying muliple WARs in the same JVM where
the Camel applications may have same <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>
id. In OSGi the name in JMX now has the bundle id as prefix.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/BeanShell" title="BeanShell">BeanShell</a>
language</li>
	<li><a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
now supports using older versions (eg versions 1.6/1.7) of quartz JARs.</li>
	<li>The <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
EIP will use a synchronous invocation when processing completed aggregated <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a>s, when not running in parallel mode. This ensures no
internal task queue is used, which otherwise could stack up tasks and under certain conditions
eat up memory. Enable <tt>parallelProcessing</tt> if you want to use a separate
thread for processing completed aggregated <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a>s.</li>
	<li><a href="/confluence/display/CAMEL/LDAP" title="LDAP">LDAP</a> supports
paging.</li>
	<li><a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a> and <a
href="/confluence/display/CAMEL/CXFRS" title="CXFRS">CXFRS</a> use the CXF continuation
API when using CXF 2.3.x.</li>
	<li>You can access the CXF Message from the Camel message header by using the key "CamelCxfMessage"
after the <a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a> consumer.</li>
	<li>Fixed a rare situation in which an <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> could be lost during graceful shutdown on the <a
href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> endpoints, usually more
apparent on high volume systems.</li>
	<li>Improved support for Locale in <a href="/confluence/display/CAMEL/Bindy" title="Bindy">Bindy</a>
for Number and Date formats.</li>
	<li>Fixed <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>
to work as the <a href="/confluence/display/CAMEL/Pipes+and+Filters" title="Pipes and Filters">Pipes
and Filters</a> would do, breaking to continue routing if a sub exchange failed and
was handled by an <a href="/confluence/display/CAMEL/Exception+Clause" title="Exception
Clause">Exception Clause</a>. Previously you would have to detect this manually in
the <tt>AggregationStrategy</tt>.</li>
	<li>Constant fields from <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
can be referred in the <a href="/confluence/display/CAMEL/DSL" title="DSL">DSL</a>
from a String attribute using the class type style. This makes the Java DSL and Spring XML
more similar. And you got type safe as Camel throws exception if you had a typo.<br/>
For example: 
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;setHeader headerName=<span
class="code-quote">"Exchange.FILE_NAME"</span>&gt;</span><span class="code-tag">&lt;constant&gt;</span>myfile.txt<span
class="code-tag">&lt;/constant&gt;</span><span class="code-tag">&lt;/setHeader&gt;</span></pre>
</div></div>
<p> </p></li>
	<li><a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
now contains the creation timestamp when it was created as a <tt>java.util.Date</tt>
object stores as a property with the key <tt>Exchange.CREATION_TIMESTAMP</tt></li>
	<li>Camel fails fast on startup if <a href="/confluence/display/CAMEL/Load+Balancer"
title="Load Balancer">Load Balancer</a> has been misconfigured, such as configuring
two different load balancers in one</li>
	<li>Fixed <tt>markRollbackOnlyLast</tt> when used with inner/outer transactions.</li>
	<li><tt>InterceptStrategy</tt> is now default ordered in the order they
are added to the <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>.
However you can dictate the order by implementing the <tt>org.apache.camel.util.Ordered</tt>
interface.</li>
	<li>Made it easier to load routes from XML files using <tt>loadRoutesDefinition</tt>
method from <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>.</li>
	<li>Added support for custom multipart filters in <a href="/confluence/display/CAMEL/Jetty"
title="Jetty">Jetty</a>.</li>
	<li>Using <a href="/confluence/display/CAMEL/Processor" title="Processor">Processor</a>
or <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a> in routes is
now also enlisted in JMX for management.</li>
	<li>The ObjectName for <tt>processor</tt> in JMX is now always using the
node id it has been assigned in the route.</li>
	<li>Using a custom <a href="/confluence/display/CAMEL/Processor" title="Processor">Processor</a>
or <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a> will be enlisted
in JMX having its custom attributes/operations listed. For example just use the Spring JMX
annotations to easily expose the attributes/operations. See more <a href="/confluence/display/CAMEL/Why+is+my+processor+not+showing+up+in+JConsole"
title="Why is my processor not showing up in JConsole">details here</a>.</li>
	<li>Fixed some issue with the <tt>camel-blueprint</tt> component.</li>
	<li>Added features to <tt>camel-blueprint</tt> component so its on-par
with feature set from Spring XML.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a>
producer may creating directory using windows path separators.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Intercept" title="Intercept">InterceptSendToEndpoint</a>
not honoring <tt>stop</tt> DSL to stop immediately and not sending the <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> to the intercepted <a href="/confluence/display/CAMEL/Endpoint"
title="Endpoint">Endpoint</a>.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/IRC" title="IRC">IRC</a>
component</li>
	<li>Added <tt>matchsMockWaitTime</tt> method to <a href="/confluence/display/CAMEL/NotifyBuilder"
title="NotifyBuilder">NotifyBuilder</a> which is a convenient method to use when
testing with mocks and want to match using timeout.</li>
	<li><tt>org.apache.camel.spi.EventNotifier</tt> events for <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> done is now fired <b>after</b> <a href="/confluence/display/CAMEL/OnCompletion"
title="OnCompletion">OnCompletion</a> has been executed.</li>
	<li>Added option <tt>deleteOutputFile</tt> to <a href="/confluence/display/CAMEL/XSLT"
title="XSLT">XSLT</a> component.</li>
	<li><a href="/confluence/display/CAMEL/Idempotent+Consumer" title="Idempotent Consumer">Idempotent
Consumer</a>'s <tt>IdempotentRepository</tt> is now managed in <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a>.</li>
	<li><a href="/confluence/display/CAMEL/File2" title="File2">File</a> and
<a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> producers now support
writing <em>done</em> files after the target file has been written, using the
new <tt>doneFileName</tt> option.</li>
	<li><a href="/confluence/display/CAMEL/File2" title="File2">File</a> and
<a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> consumers now support
only consuming files if a <em>done</em> file exists, using the new <tt>doneFileName</tt>
option.</li>
	<li><a href="/confluence/display/CAMEL/Threading+Model" title="Threading Model">Thread
Pools</a> is now named more intuitive in <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a>, making it much easier for end user to spot which pool
is used for what. And it provides more information where the pool is used.</li>
	<li><a href="/confluence/display/CAMEL/Data+Format" title="Data Format">Data
Format</a> now supports <tt>Service</tt> and <tt>CamelContextAware</tt>
callbacks which means its much easier to perform custom initialization logic in your data
formats.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Printer" title="Printer">Printer</a>
component to use exact same constants for <tt>mediaSize</tt> option as from the
Java Printer API.</li>
	<li>Fixed issue with route scoped <a href="/confluence/display/CAMEL/Exception+Clause"
title="Exception Clause">Exception Clause</a> may pick <a href="/confluence/display/CAMEL/Exception+Clause"
title="Exception Clause">Exception Clause</a> defined on another route, if exception
is the same type. Also ensures that route scoped is preferred over context scoped.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Bindy" title="Bindy">Bindy</a>
fixed length to throw exception if field exceeds allowed length. Added option <tt>clip</tt>
on <tt>@DataField</tt> to allow <a href="/confluence/display/CAMEL/Bindy" title="Bindy">Bindy</a>
to clip the field so it fits the length, instead of thrown an exception.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Bindy" title="Bindy">Bindy</a>
when using quoted CSV records and fixed when using pipeline delimiter.</li>
	<li>Added header <tt>Exchange.REDELIVERY_MAX_COUNTER</tt> to message when
Camel performs a redelivery attempt. This header contains the maximum redelivery setting.
It may be <tt>null</tt> if you use unlimited redelivery attempts or use <tt>retryWhile</tt>.</li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> producer
using <tt>InOnly</tt> MEP now supports <tt>JMSReplyTo</tt> configured
on either endpoint, or provided as message header. The message send to the JMS destination
will now contain the <tt>JMSReplyTo</tt> information. The <a href="/confluence/display/CAMEL/JMS"
title="JMS">JMS</a> producer which send the message will still be <tt>InOnly</tt>
and not expect/wait for a reply but continue immediately. You have to have the <tt>preserveMessageQos=true</tt>
option defined as well.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> producer,
when a <tt>JMSReplyTo</tt> header was provided as a message header, removing any
<tt>queue:</tt> or <tt>topic:</tt> prefix causing the reply to destination
to be resolved correctly (eg avoiding having <tt>queue:</tt> in the queue name).</li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> producer
now honors, if reply to was disabled using <tt>disableReplyTo=true</tt> in all
situations.</li>
	<li><a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>, <a
href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>, <a href="/confluence/display/CAMEL/SERVLET"
title="SERVLET">SERVLET</a> and <tt>camel-http4</tt> now supports content
type <tt>application/x-java-serialized-object</tt> on both the producer and consumer
side. This allows you to transfer serialized Java objects over http.</li>
	<li>Added option <tt>transferException</tt> to <a href="/confluence/display/CAMEL/HTTP"
title="HTTP">HTTP</a>, <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
and <a href="/confluence/display/CAMEL/SERVLET" title="SERVLET">SERVLET</a>, which
allows you to return back caused exceptions from the consumer side as serialized objects.
On the producer side the caused exception will be thrown instead of the generic <tt>HttpOperationFailedException</tt>.</li>
	<li><a href="/confluence/display/CAMEL/Web+Console" title="Web Console">Web Console</a>
now displays some basic route statistics if <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a> is enabled.</li>
	<li><a href="/confluence/display/CAMEL/JPA" title="JPA">JPA</a> <tt>JpaTraceEventMessage</tt>
now uses <tt>@Lob</tt> for fields which may contain a lot of data, such as message
body.</li>
	<li><a href="/confluence/display/CAMEL/Log" title="Log">Throughput logger</a>
now supports logging per interval (timer based).</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>
causing exception mistakenly from one sub-message being propagated to the next sub-message.</li>
	<li><a href="/confluence/display/CAMEL/XQuery" title="XQuery">XQuery</a>
now strips all whitespaces by default; there is an option to changes this to ignorable whitepsaces
only.</li>
	<li><a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
now enforces trigger name/group to be unique within the given component. Will throw exception
on name clash detected. This behavior does not apply for clustered quartz.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>
using too much memory when running in parallel mode. Now it aggregates on-the-fly and memory
consumption is low and stable.</li>
	<li><a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a> now
has a type option which you can use if you use method overloading in your Bean and prevent
Camel to fail with an <tt>AmbiguousMethodCallException</tt>.</li>
	<li>Added <tt>Main</tt> class to <tt>camel-core</tt> so you
can do: <a href="/confluence/display/CAMEL/Running+Camel+standalone+and+have+it+keep+running"
title="Running Camel standalone and have it keep running">Running Camel standalone and
have it keep running</a></li>
	<li>Added <a href="/confluence/pages/createpage.action?spaceKey=CAMEL&amp;title=JDBC-AggregationRepository&amp;linkCreation=true&amp;fromPageId=24184529"
class="createlink">JDBC</a> based persistent support for <a href="/confluence/display/CAMEL/Aggregator2"
title="Aggregator2">Aggregator</a> EIP</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
may throw NPE during heavy load.</li>
	<li>Continuation timeout can be configured on <a href="/confluence/display/CAMEL/Jetty"
title="Jetty">Jetty</a>. By default <a href="/confluence/display/CAMEL/Jetty"
title="Jetty">Jetty</a> uses 30 sec timeout. There is also a new option to disable
using Jetty continuation.</li>
	<li><a href="/confluence/display/CAMEL/Polling+Consumer" title="Polling Consumer">Polling
Consumer</a>'s <tt>PollingConsumerPollStrategy</tt> now provides number
of messages actually processed in the poll in the <tt>commit</tt> callback message.
You can use this to know if none messages was polled, or that X number of message was polled.</li>
	<li><a href="/confluence/display/CAMEL/Dozer+Type+Conversion" title="Dozer Type
Conversion">Dozer</a> now works with OSGi</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
which could lead to it not confirm completions on the <tt>AggregationRepository</tt>.
And as well the internal "in progress completed exchanges" map wouldn't neither remove the
completed exchange, causing it to grow memory over time.</li>
	<li>The <tt>bean</tt> DSLs will eager check on startup, the provided method
name is a valid method name on the bean as well. This helps to fail fast if end users have
a typo in their routes.</li>
	<li><a href="/confluence/display/CAMEL/Graceful+Shutdown" title="Graceful Shutdown">Graceful
Shutdown</a> a single route now supports a <tt>abortOnTimeout</tt> option,
which if enabled will let the route be running if it could not shutdown the route within a
given timeout period.</li>
	<li>Fixed <tt>loadRoutesDefinition</tt> and <tt>addRouteDefinition</tt>
to used shared logic from <tt>camel-core-xml</tt> to ensure loading routes from
XML files works exactly the same as if the routes was defined in Spring or Blueprint XML files.</li>
	<li>Camel now fail on startup if it cannot load type converters from the classpath,
which is essential for it to operate correctly.</li>
	<li>Fixed <tt>completionFromBatchConsumer</tt> option on the <a href="/confluence/display/CAMEL/Aggregator2"
title="Aggregator2">Aggregator</a> not aggregating the last incoming <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> under certain conditions.</li>
	<li>Fixed a few code generation issues related to <a href="/confluence/display/CAMEL/Camel+Maven+Archetypes"
title="Camel Maven Archetypes">Camel Maven Archetypes</a></li>
	<li><a href="/confluence/display/CAMEL/Properties" title="Properties">Properties</a>
component will trim values from loaded properties. This fixes a problem when you have trailing
spaces for values in a properties file.</li>
	<li>Fixed <tt>trim</tt> option on <tt>@DataField</tt> annotation
not working in <a href="/confluence/display/CAMEL/Bindy" title="Bindy">Bindy</a>
when unmarshalling fixed length records.</li>
	<li>Added <tt>ref</tt> function to <a href="/confluence/display/CAMEL/Simple"
title="Simple">Simple</a> expression language so you can lookup any <a href="/confluence/display/CAMEL/Bean"
title="Bean">Bean</a> from the <a href="/confluence/display/CAMEL/Registry" title="Registry">Registry</a>.</li>
</ul>


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

<ul>
	<li>None</li>
</ul>


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

<ul>
	<li><a href="/confluence/display/CAMEL/EventAdmin" title="EventAdmin">EventAdmin</a>
- OSGi Event Admin</li>
	<li><a href="/confluence/pages/createpage.action?spaceKey=CAMEL&amp;title=JDBC-AggregationRepository&amp;linkCreation=true&amp;fromPageId=24184529"
class="createlink">JDBC&#45;AggregationRepository</a> - Persist ongoing <a
href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">aggregated</a> message
in JDBC data store</li>
	<li><a href="/confluence/display/CAMEL/JMX" title="JMX">JMX</a></li>
	<li><a href="/confluence/display/CAMEL/Kestrel" title="Kestrel">Kestrel</a></li>
	<li><a href="/confluence/display/CAMEL/Pax-Logging" title="Pax-Logging">Pax&#45;Logging</a>
- OSGi Pax Logging</li>
	<li><a href="/confluence/display/CAMEL/Spring+Web+Services" title="Spring Web Services">Spring
Web Services</a> -</li>
	<li><a href="/confluence/display/CAMEL/aws-sqs" title="aws-sqs">SQS</a>
- Queuing service for Amazon Web Services</li>
	<li><a href="/confluence/display/CAMEL/Routebox" title="Routebox">Routebox</a></li>
</ul>


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

<ul>
	<li>Added <tt>excludePattern</tt> parameter to <tt>removeHeaders</tt>
DSL.</li>
</ul>


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

<ul>
	<li>None</li>
</ul>


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

<ul>
	<li><a href="/confluence/display/CAMEL/JiBX" title="JiBX">JiBX</a></li>
	<li><a href="/confluence/display/CAMEL/Syslog" title="Syslog">Syslog</a></li>
</ul>


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

<ul>
	<li>None</li>
</ul>


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

<ul>
	<li><a href="/confluence/display/CAMEL/JMX+Component+Example" title="JMX Component
Example">JMX Component Example</a></li>
	<li><a href="/confluence/display/CAMEL/Simple+Jira+Bot" title="Simple Jira Bot">Simple
Jira Bot</a></li>
	<li><a href="/confluence/display/CAMEL/Spring+WS+Example" title="Spring WS Example">Spring
Web Services Example</a></li>
</ul>


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

<ul>
	<li>None</li>
</ul>


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

<ul>
	<li><tt>camel-test</tt> JAR in the <tt>CamelSpringTestSupport</tt>
classes now returns a more generic <tt>AbstractApplicationContext</tt> type in
the <tt>createApplicationContext</tt> method.</li>
	<li>Added <tt>prepareShutdown</tt> method to <tt>ShutdownAware</tt>
SPI interface.</li>
	<li><tt>org.apache.camel.spi.IdempotentRepository</tt> now extends <tt>org.apache.camel.Service</tt>.</li>
	<li>The <tt>onThreadPoolAdd</tt> method on <tt>LifecycleStrategy</tt>
has additional parameters for information where the thread pool is used.</li>
	<li><tt>processBatch</tt> method in <tt>BatchConsumer</tt>
now returns number of messages that was actually processed from the batch.</li>
	<li><tt>commit</tt> method in <tt>PollingConsumerPollStrategy</tt>
now has a parameter with the number of message processed in the poll.</li>
	<li><tt>poll</tt> method in <tt>ScheduledPollConsumer</tt>
now returns number of messages that was actually processed from the poll.</li>
	<li><tt>TypeConverterLoaded</tt> has been moved from package <tt>org.apache.camel.impl.converter</tt>
to <tt>org.apache.camel.spi</tt>.</li>
</ul>


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

<ul>
	<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>Project cannot be fully build using Maven 3.0</li>
	<li>One may encounter build errors in camel-ftp with java versions older than "1.5.0_24"</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="https://issues.apache.org/jira/browse/CAMEL-3534" class="external-link"
rel="nofollow">CAMEL-3534</a></li>
	<li>If you use <a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
then pay attention that its UpdateChecker is enabled by default. You should disable this,
see more <a href="http://forums.terracotta.org/forums/posts/list/3395.page#19058" class="external-link"
rel="nofollow">details here</a></li>
	<li>Installing <tt>camel-ftp</tt> feature in Apache ServiceMix may cause
issue. See <a href="http://fusesource.com/forums/thread.jspa?threadID=2654&amp;tstart=0"
class="external-link" rel="nofollow">here</a> for more details and workaround.</li>
	<li><a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>
in parallel mode may block if empty body as input. See <a href="https://issues.apache.org/jira/browse/CAMEL-3685"
class="external-link" rel="nofollow">CAMEL-3685</a></li>
	<li><a href="/confluence/display/CAMEL/Recipient+List" title="Recipient List">Recipient
List</a> in parallel mode doesn't reuse background aggregator thread. See <a href="https://issues.apache.org/jira/browse/CAMEL-3727"
class="external-link" rel="nofollow">CAMEL-3727</a></li>
</ul>


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

<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>Starting with camel-2.7.0
we are dropping support for java 1.5, spring 2.5.6 and junit 3. These technologies may still
be supported for a short while on a 2.6.x branch depending on the community interest. See
<a href="/confluence/display/CAMEL/Camel+2.7+-+Roadmap" title="Camel 2.7 - Roadmap">Camel
2.7 &#45; Roadmap</a>.</td></tr></table></div>


<ul>
	<li>Upgraded to Spring 3.0.5</li>
	<li>Upgraded to Apache CXF 2.3.1 (although CXF 2.2.11 is still supported)</li>
	<li>Upgraded to Jetty 7.2.2.v20101205</li>
	<li>The Java DSL now enforces <tt>onException</tt> and the likes to be
defined <b>before</b> routes, if not Camel will fail starting the route.</li>
	<li>The <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
EIP will use a synchronous invocation when processing completed aggregated <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a>s, when not running in parallel mode. This ensures no
internal task queue is used, which otherwise could stack up tasks and under certain conditions
eat up memory. Enable <tt>parallelProcessing</tt> if you want to use a separate
thread for processing completed aggregated <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a>s.</li>
	<li>Camel now fails fast if staring a <tt>LifecycleStrategy</tt> fails
on startup. For example if there is issue with <a href="/confluence/display/CAMEL/Camel+JMX"
title="Camel JMX">JMX</a> that will now cause Camel to not startup at all. If you
have trouble with JMX before you can disable JMX on Camel and allow it to startup.</li>
	<li><tt>ManagementAware</tt> has been @deprecated. Just enrich your class
with the Spring JMX annotations, if you want custom management of your components, endpoints,
processors and so fort. See more at <a href="/confluence/display/CAMEL/Why+is+my+processor+not+showing+up+in+JConsole"
title="Why is my processor not showing up in JConsole">Why is my processor not showing
up in JConsole</a>.</li>
	<li><a href="/confluence/display/CAMEL/Data+Format" title="Data Format">Data
Format</a> now supports <tt>Service</tt> and <tt>CamelContextAware</tt>
callbacks which means its much easier to perform custom initialization logic in your data
formats.</li>
	<li>The <tt>mediaSize</tt> option on <a href="/confluence/display/CAMEL/Printer"
title="Printer">Printer</a> now uses exact same constants as the Java Printer API.
Which means it uses underscores instead of hyphens in the constants.</li>
	<li><a href="/confluence/display/CAMEL/JPA" title="JPA">JPA</a> <tt>JpaTraceEventMessage</tt>
now uses <tt>@Lob</tt> for fields which may contain a lot of data, such as message
body.</li>
	<li><a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a>
now enforces trigger name/group to be unique within the given component. Will throw exception
on name clash detected. This behavior does not apply for clustered quartz.</li>
	<li>Camel now fail on startup if it cannot load type converters from the classpath,
which is essential for it to operate correctly.</li>
</ul>



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

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

<div class='table-wrap'>
<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.6.0/apache-camel-2.6.0.zip"
class="external-link" rel="nofollow">apache-camel-2.6.0.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.6.0/apache-camel-2.6.0.zip.asc"
class="external-link" rel="nofollow">apache-camel-2.6.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.6.0/apache-camel-2.6.0.tar.gz"
class="external-link" rel="nofollow">apache-camel-2.6.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.6.0/apache-camel-2.6.0.tar.gz.asc"
class="external-link" rel="nofollow">apache-camel-2.6.0.tar.gz.asc</a> </td>
</tr>
</tbody></table>
</div>

<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="http://www.mozilla.com/en-US/firefox/" class="external-link"
rel="nofollow">FireFox</a></td></tr></table></div>

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

<div class='table-wrap'>
<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.6.0/apache-camel-2.6.0-src.zip"
class="external-link" rel="nofollow">apache-camel-2.6.0-src.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.6.0/apache-camel-2.6.0-src.zip.asc"
class="external-link" rel="nofollow">apache-camel-2.6.0-src.zip.asc</a> </td>
</tr>
</tbody></table>
</div>


<div class='table-wrap'>
<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.6.0/apache-camel-2.6.0-src.tar.gz"
class="external-link" rel="nofollow">apache-camel-2.6.0-src.tar.gz</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.6.0/apache-camel-2.6.0-src.tar.gz.asc"
class="external-link" rel="nofollow">apache-camel-2.6.0-src.tar.gz.asc</a> </td>
</tr>
</tbody></table>
</div>


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

<h3><a name="Camel2.6.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.6.0</span>
</pre>
</div></div>

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

<p>For a more detailed view of new features and bug fixes, see:</p>
<ul>
	<li><a href="http://issues.apache.org/activemq/secure/ReleaseNote.jspa?projectId=12311211&amp;styleName=Html&amp;version=12315690"
class="external-link" rel="nofollow">JIRA Release notes for 2.6.0</a></li>
</ul>

    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.6.0+Release">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=24184529&revisedVersion=107&originalVersion=106">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.6.0+Release?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message