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.8.0 Release
Date Sun, 12 Jun 2011 11:04:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/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.8.0+Release">Camel
2.8.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" >* Exceptions thrown while handling
other exceptions in [OnException|Exception Clause] will now caught by a fallback error handler
logging to 2nd exception and propagating the 2nd exception on the [Exchange] and causing that
[Exchange] to break out processing and fail immediately. This avoids complications, what to
do if a exceptions occur while handling a previous exception. For example you could end up
going in circles. Now its predictable (Log the 2nd and fail). <br>* [OnException|Exception
Clause] will fail on startup if it has been misconfigured (eg its empty, such as {{onException(Exception.class);}}).
You must either add redelivery settings, handled, continued, retryWhile, outputs, etc. to
configure it <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Fixed issue when sending [Mail] as Camel could mistakenly drop characters from {{Content-Type}}
header. Improved how {{charset}} is parsed and configured in the {{Content-Type}} header.
<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>
    
            </table>
    </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="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.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>

<ul>
	<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 configure the <tt>resultType</tt> when using <a href="/confluence/display/CAMEL/Simple"
title="Simple">Simple</a> expressions.</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="http://cometd.org/documentation/howtos/authentication"
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
6</a>.</li>
	<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
processed.</li>
	<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"
title="Predicate">Predicate</a>s.</li>
	<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>
slightly</li>
	<li>Fixed an issue when restarting routes with scheduled polling consumers having <tt>consumer.xxx</tt>
properties configured. The <tt>consumer.xxx</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="http://download.oracle.com/javase/6/docs/api/java/lang/ref/SoftReference.html"
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>
JAR</li>
	<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>
	<li>Added new features to <a href="/confluence/display/CAMEL/AdviceWith" title="AdviceWith">AdviceWith</a>
to support <tt>weaveByType</tt>, selectors, and a shorthand to easily add nodes
to start/end of routes.</li>
	<li><a href="/confluence/display/CAMEL/Camel+Test" title="Camel Test">Camel Test</a>
support setting up <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>
once per test class, instead of every test method. This can speedup testing when having multiple
test methods in the same unit test class.</li>
	<li>Fixed an issue with <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a>
producer not trying to re-connect if pre write check fails. By re-connecting the producer
can recover and process the message without failing.</li>
	<li><a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">Camel JMX</a>
can now show the routes as XML on the CamelContext/Route mbeans. Likewise route(s) can be
updated/added from XML as well.</li>
	<li><a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">Camel JMX</a>
added operations to <tt>ManagedCamelContext</tt> to send messages which has headers
as well.</li>
	<li><a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">Camel JMX</a>
added operations to <tt>BrowsableEndpoint</tt> mbeans to show message in generic
XML format.</li>
	<li>The JDBC and JPA based idempotent repositories now contains a createdAt property/column.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/AWS-SQS" title="AWS-SQS">AWS&#45;SQS</a>
component to change all queue attributes (VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod
and Policy) at a later time if needed.</li>
	<li>Aligned the authentication and proxy parameter names so <a href="/confluence/display/CAMEL/HTTP4"
title="HTTP4">HTTP4</a> uses same names as <a href="/confluence/display/CAMEL/HTTP"
title="HTTP">HTTP</a> component.</li>
	<li>Removed some very seldom used expression builders in Java DSL that caused a minor
problem with being able to render the routes as XML. By removing those we ensure the routes
creating using Java DSL can accurately render itself as XML DSL routes.</li>
	<li>Added <a href="/confluence/display/CAMEL/Hazelcast+Component" title="Hazelcast
Component">Hazelcast</a> as supported store for the <a href="/confluence/display/CAMEL/Idempotent+Consumer"
title="Idempotent Consumer">Idempotent Consumer</a> EIP</li>
	<li><a href="/confluence/display/CAMEL/Tracer" title="Tracer">Tracer</a>
uses same logic as <a href="/confluence/display/CAMEL/Log" title="Log">Log</a>
component for extracting message body. By default they will not log/trace message bodies from
stream/files. But instead indicate its a stream/file message body. You can control this behavior
by setting a property on the <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a>.</li>
	<li>Added monitor type consumer to <a href="/confluence/display/CAMEL/JMX" title="JMX">JMX</a>
consumer. This new style of consumer automatically creates and deploys a monitor bean (counter,
gauge, or string) to monitor the specified attribute of an existing bean. This is useful for
cases where a route wants to monitor a bean without relying on an pre-existing deployment
and configuration of a monitor.</li>
	<li>Added <a href="/confluence/display/CAMEL/Ref+Language" title="Ref Language">Ref
Language</a> to make it easy to refer and use custom <a href="/confluence/display/CAMEL/Expression"
title="Expression">Expression</a> in XML DSLs.</li>
	<li>You can provide additional arguments to <a href="/confluence/display/CAMEL/Scripting+Languages"
title="Scripting Languages">Scripting Languages</a> as a header on the Camel Message.</li>
	<li>Added support for setting custom properties in the endpoint uri for <a href="/confluence/display/CAMEL/CXF"
title="CXF">CXF</a> by using <tt>properties.</tt> as prefix, eg <tt>properties.mtom-enabled=true</tt>
to enable MTOM. This is usable if you configure and use <a href="/confluence/display/CAMEL/CXF"
title="CXF">CXF</a> from Java DSL. The XML DSL has a specialized CXF schema to configure
this using XML tags.</li>
	<li>Added option <tt>disableTimeToLive</tt> on <a href="/confluence/display/CAMEL/JMS"
title="JMS">JMS</a> to force disabling time to live value. Added more details in
<a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> documentation about
the need for synchronizing clocks for <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
systems when doing request/reply, and why the option <tt>disableTimeToLive</tt>
may come handy.</li>
	<li><a href="/confluence/display/CAMEL/Spring+Web+Services" title="Spring Web Services">Spring-WS</a>
producer now propagates headers correctly.</li>
	<li>Components loading resources such as <a href="/confluence/display/CAMEL/Velocity"
title="Velocity">Velocity</a>, <a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a>,
<a href="/confluence/display/CAMEL/XQuery" title="XQuery">XQuery</a>, <a href="/confluence/display/CAMEL/FreeMarker"
title="FreeMarker">FreeMarker</a> etc. now leverages Camels <a href="/confluence/display/CAMEL/Pluggable+Class+Resolvers"
title="Pluggable Class Resolvers">Pluggable Class Resolvers</a> which ensures they
now work in <a href="/confluence/display/CAMEL/Using+OSGi+blueprint+with+Camel" title="Using
OSGi blueprint with Camel">OSGi Blueprint</a>.</li>
	<li><tt>DefaultPackageScanClassResolver</tt> uses a JAR cache to speedup
scanning JARs. This ensures Camel bootup faster, in case it re-scan JARs from the cache.</li>
	<li>Exposed Restlet API in <a href="/confluence/display/CAMEL/Restlet" title="Restlet">Restlet</a>
to allow end users to be in full control. For example using the <tt>org.restlet.Response</tt>
instance to populate the response from a <a href="/confluence/display/CAMEL/Restlet" title="Restlet">Restlet</a>
route.</li>
	<li>Splited camel transport for cxf out of camel-cxf module. If you want to use camel
transport for cxf or the cxfbean component, you need to add the dependency of camel-cxf-transport.</li>
	<li><a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
EIP will restore timeout values from existing exchanges from aggregation repository upon start.
This ensures that restarting Camel, will allow the aggregator trigger timeouts for those existing
exchanges.</li>
	<li><a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a> component:
<a href="/confluence/display/CAMEL/Parameter+Binding+Annotations" title="Parameter Binding
Annotations">Parameter Binding Annotations</a> are now also inherited from superclasses
and interfaces.</li>
	<li>Fixed routes using a <a href="/confluence/display/CAMEL/Content+Based+Router"
title="Content Based Router">Content Based Router</a> not having its child nodes
enlisted in <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">JMX</a>
for management.</li>
	<li>Fixed parent/child relationship in <a href="/confluence/display/CAMEL/Content+Based+Router"
title="Content Based Router">Content Based Router</a> to be more fine grained.</li>
	<li>Fixed issue related to non optional camel-core dependency on javax.script in OSGi.</li>
	<li>Added option <tt>shareUnitOfWork</tt> to <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a>, <a href="/confluence/display/CAMEL/Multicast" title="Multicast">Multicast</a>,
and <a href="/confluence/display/CAMEL/Recipient+List" title="Recipient List">Recipient
List</a> to make the entire operation appear as one unit of work, that either succeed
or failure. This underpins some use cases, especially with the <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a> and using a <a href="/confluence/display/CAMEL/Dead+Letter+Channel"
title="Dead Letter Channel">Dead Letter Channel</a> to only store one failed <a
href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a> (one unit
of work).</li>
	<li>Exceptions thrown while handling other exceptions in <a href="/confluence/display/CAMEL/Exception+Clause"
title="Exception Clause">OnException</a> will now caught by a fallback error handler
logging to 2nd exception and propagating the 2nd exception on the <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> and causing that <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> to break out processing and fail immediately. This
avoids complications, what to do if a exceptions occur while handling a previous exception.
For example you could end up going in circles. Now its predictable (Log the 2nd and fail).</li>
	<li><a href="/confluence/display/CAMEL/Exception+Clause" title="Exception Clause">OnException</a>
will fail on startup if it has been misconfigured (eg its empty, such as <tt>onException(Exception.class);</tt>).
You must either add redelivery settings, handled, continued, retryWhile, outputs, etc. to
configure it</li>
	<li>Fixed issue when sending <a href="/confluence/display/CAMEL/Mail" title="Mail">Mail</a>
as Camel could mistakenly drop characters from <tt>Content-Type</tt> header. Improved
how <tt>charset</tt> is parsed and configured in the <tt>Content-Type</tt>
header.</li>
</ul>


<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"
title="Components">Components</a></h3>

<ul>
	<li><a href="/confluence/display/CAMEL/AHC" title="AHC">AHC</a> - An asynchronous
http client</li>
	<li><a href="/confluence/display/CAMEL/APNS" title="APNS">APNS</a> - To
send notifications to Apple iOS devices</li>
	<li><a href="/confluence/display/CAMEL/AWS-SNS" title="AWS-SNS">AWS&#45;SNS</a>
- Simple Notification Service for Amazon AWS Cloud</li>
	<li><a href="/confluence/display/CAMEL/AWS-S3" title="AWS-S3">AWS&#45;S3</a>
- Simple Storage Service for Amazon AWS Cloud</li>
	<li><a href="/confluence/display/CAMEL/HDFS" title="HDFS">HDFS</a> - Hadoop
File System</li>
	<li><a href="/confluence/display/CAMEL/Camel+Test" title="Camel Test">TestNG</a>
- Unit testing with TestNG</li>
</ul>


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

<ul>
	<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>
	<li>Added <tt>copy</tt> option to <a href="/confluence/display/CAMEL/Loop"
title="Loop">Loop</a> EIP so you can run in copy mode, which mean each iteration
is reset and use a copy of the same input exchange.</li>
	<li><tt>endDoTry</tt> added to Java DSL</li>
	<li>Added option <tt>shareUnitOfWork</tt> to <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a>, <a href="/confluence/display/CAMEL/Multicast" title="Multicast">Multicast</a>,
and <a href="/confluence/display/CAMEL/Recipient+List" title="Recipient List">Recipient
List</a> to make the entire operation appear as one unit of work, that either succeed
or failure. This underpins some use cases, especially with the <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a> and using a <a href="/confluence/display/CAMEL/Dead+Letter+Channel"
title="Dead Letter Channel">Dead Letter Channel</a> to only store one failed <a
href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a> (one unit
of work).</li>
</ul>


<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"
title="Languages">Languages</a></h3>
<ul>
	<li><a href="/confluence/display/CAMEL/Ref+Language" title="Ref Language">Ref
Language</a></li>
</ul>


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


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

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

<ul>
	<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="https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/CBRWithWireTapTest.java"
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>
	<li>The <tt>sendBody</tt> and <tt>requestBody</tt> methods
on <tt>ManagedCamelContext</tt> have changed signature to use a <tt>java.lang.Object</tt>
type in the 2nd parameter. Instead we have introduced <tt>sendStringBody</tt>
and <tt>requestStringBody</tt> that has a <tt>java.lang.String</tt>
type in the 2nd parameter. For example you can use those from JConsole.</li>
	<li>The JDBC and JPA based idempotent repositories now contains a createdAt property/column.</li>
	<li>The authentication and proxy parameter names have been renamed in the <a href="/confluence/display/CAMEL/HTTP4"
title="HTTP4">HTTP4</a> component. See the <a href="/confluence/display/CAMEL/HTTP4"
title="HTTP4">HTTP4</a> page for details.</li>
	<li>Removed seldom used methods on EIPs that uses an <tt>ExpressionClause</tt>
to build up an expression. There are other existing methods that accept an <tt>Expression</tt>
as parameter to be used instead:
	<ul>
		<li><tt>completionPredicate()</tt> on <tt>AggregationDefinition</tt></li>
		<li><tt>onWhen()</tt> on <tt>CatchDefinition</tt></li>
		<li><tt>expression()</tt> on <tt>IdempotentConsumerDefinition</tt></li>
		<li><tt>onWhen()</tt> on <tt>OnCompletionDefinition</tt></li>
		<li><tt>onWhen()</tt> on <tt>OnExceptionDefinition</tt></li>
		<li><tt>idempotentConsumer()</tt> on <tt>ProcessorDefinition</tt></li>
		<li><tt>expression()</tt> on <tt>SplitDefinition</tt></li>
		<li><tt>onWhen()</tt> on <tt>TryDefinition</tt></li>
		<li><tt>expression()</tt> on <tt>WhenDefinition</tt></li>
	</ul>
	</li>
	<li>Removed the deprecated <tt>handled</tt> methods on <a href="/confluence/display/CAMEL/Error+Handler"
title="Error Handler">Error Handler</a></li>
	<li><tt>GZIPHelper</tt> moved from <a href="/confluence/display/CAMEL/HTTP"
title="HTTP">HTTP</a>/<a href="/confluence/display/CAMEL/HTTP4" title="HTTP4">HTTP4</a>/<a
href="/confluence/display/CAMEL/ghttp" title="ghttp">ghttp</a> components to <tt>camel-core</tt></li>
	<li>Removed <tt>org.apache.camel.spi.ScriptEngineResolver</tt></li>
</ul>


<h2><a name="Camel2.8.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>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>
</ul>


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

<ul>
	<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>
method.</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. 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>
	<li>Removed the artifacts <tt>camel-spring-tests.jar</tt> and <tt>camel-blueprint-tests.jars</tt>
from being released to <a href="http://repo2.maven.org/maven2/" class="external-link" rel="nofollow">Maven
Central Repository</a>.</li>
	<li>Upgraded to use Commons Net 2.2 (was 2.0) in <a href="/confluence/display/CAMEL/FTP2"
title="FTP2">FTP</a> component.</li>
	<li>Splited Camel transport for <a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a>
out of <tt>camel-cxf</tt> module. If you want to use camel transport for <a
href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a> or the <tt>cxfbean</tt>
component, you need to add the dependency of <tt>camel-cxf-transport</tt>.</li>
	<li>Upgraded <a href="/confluence/display/CAMEL/Spring+Web+Services" title="Spring
Web Services">Spring Web Services</a> to release 2.0.2 from 1.x.</li>
	<li>Exceptions thrown while handling other exceptions in <a href="/confluence/display/CAMEL/Exception+Clause"
title="Exception Clause">OnException</a> will now caught by a fallback error handler
logging to 2nd exception and propagating the 2nd exception on the <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> and causing that <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> to break out processing and fail immediately. This
avoids complications, what to do if a exceptions occur while handling a previous exception.
For example you could end up going in circles. Now its predictable (Log the 2nd and fail).</li>
</ul>


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

<h3><a name="Camel2.8.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.8.0/apache-camel-2.8.0.zip"
class="external-link" rel="nofollow">apache-camel-2.8.0.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.8.0/apache-camel-2.8.0.zip.asc"
class="external-link" rel="nofollow">apache-camel-2.8.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.8.0/apache-camel-2.8.0.tar.gz"
class="external-link" rel="nofollow">apache-camel-2.8.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.8.0/apache-camel-2.8.0.tar.gz.asc"
class="external-link" rel="nofollow">apache-camel-2.8.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.8.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.8.0/apache-camel-2.8.0-src.zip"
class="external-link" rel="nofollow">apache-camel-2.8.0-src.zip</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.8.0/apache-camel-2.8.0-src.zip.asc"
class="external-link" rel="nofollow">apache-camel-2.8.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.8.0/apache-camel-2.8.0-src.tar.gz"
class="external-link" rel="nofollow">apache-camel-2.8.0-src.tar.gz</a> </td>
<td class='confluenceTd'> <a href="http://www.apache.org/dist/camel/apache-camel/2.8.0/apache-camel-2.8.0-src.tar.gz.asc"
class="external-link" rel="nofollow">apache-camel-2.8.0-src.tar.gz.asc</a> </td>
</tr>
</tbody></table>
</div>


<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="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.8.0<span class="code-tag">&lt;/version&gt;</span>
<span class="code-tag">&lt;/dependency&gt;</span>
</pre>
</div></div>

<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">//svn.apache.org/repos/asf/camel/tags/camel-2.8.0</span>
</pre>
</div></div>

<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>
<ul>
	<li><a href="http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311211&amp;styleName=Html"
class="external-link" rel="nofollow">release notes for 2.8.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.8.0+Release">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=26116230&revisedVersion=108&originalVersion=107">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.8.0+Release?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message