camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Camel 2.3.0 Release
Date Fri, 21 May 2010 07:37: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.3.0 Release</a></h2>
    <h4>Page <b>edited</b> by             <a href="">willem
                         <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" >* [Recipient List] and [Routing Slip]
now has option {{ignoreInvalidEndpoints}} to just ignore and continue if an endpoint uri was
invalid. <br>* Now you can override the default XSL output properties by [setting the
CamelContext properties|] <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Now camel provides a karaf feature file with Spring 3.0.2.RELEASE, the features url is &quot;mvn:org.apache.camel.karaf/apache-camel/2.3.0/xml/features-spring3&quot;
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-unchanged" >h3. New [Enterprise Integration Patterns]
<br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Camel2.3.0Release-Camel2.3.0release%28currentlyinprogress%29"></a>Camel
2.3.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.3.0Release-NewandNoteworthy"></a>New and Noteworthy</h2>

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

	<li><a href="/confluence/display/CAMEL/Threading+Model" title="Threading Model">Overhauled
threading model</a> and introducing <tt>threadPoolProfile</tt> to define
profiles for thread pools to have easy configuration.</li>
	<li><a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Property
placeholders</a> in for example endpoint uris is not natively supported in <b>camel-core</b>
which means you no long need to use Spring for that. It works therefore in any environment
as its provided out of the box in camel-core.</li>
	<li><a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Property
placeholders</a> also works in the <tt>&lt;CamelContext&gt;</tt>
when using Spring XML. Basically nearly all places where you enter text the property placeholder
is supported.</li>
	<li>Total overhaul of the <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
EIP, which now has better completion triggers, and supports pluggable repository. For example
to use <a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">camel-hawtdb</a>
as persistent store. Also added support for recovery and transactional behavior when using
<a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">camel-hawtdb</a>.</li>
	<li>Added <tt>ExchangeSentEvent</tt> to <tt>EventNotifier</tt>
which contains time taken and is emitted when an <a href="/confluence/display/CAMEL/Exchange"
title="Exchange">Exchange</a> is sent to an <a href="/confluence/display/CAMEL/Endpoint"
title="Endpoint">Endpoint</a>. This allows end users to easily gather performance
stats for <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
send to endpoints.</li>
	<li>Added <tt>disconnect</tt> option to <a href="/confluence/display/CAMEL/MINA"
title="MINA">MINA</a> to close Mina session right after usage.</li>
	<li><a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> now
supports to get the <tt>HttpServletRequest</tt> and <tt>HttpServletResponse</tt>
from the <a href="/confluence/display/CAMEL/Message" title="Message">Message</a>
	<li><a href="/confluence/display/CAMEL/XPath" title="XPath">XPathBuilder</a>
now supports being used without an <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
which allows you to use it in a custom/generic fashion.</li>
	<li><a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a> now
supports using the JVM system property specifying a custom <tt>XPathFactory</tt>
to be used. You can use this to switch from default to use e.g. Saxon.</li>
	<li><a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a> now
supports using <tt>&lt;xsl:include&gt;</tt> where the files is loaded
from classpath, and being able to load relative according to the endpoint configured location.
See the wiki page for details.</li>
	<li><a href="/confluence/display/CAMEL/File2" title="File2">File</a>, <a
href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> added option <tt>eagerDeleteTargetFile</tt>
to control the behavior when using <tt>tempFile</tt> whether or not to eagerly
delete the target file or wait until last moment.</li>
	<li>Reduced registering producers in JMX to prevent using too much memory and potentially
registering short lived producers which didn't bring much value of being managed as well.</li>
	<li>Added <a href="/confluence/display/CAMEL/HTTP" title="HTTP">camel-http4</a>
component using Apache HTTP Client 4.0.1. This can be used by early adaptors to try out the
new Apache HTTP Client 4.x architecture.</li>
	<li>Upgraded <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
to use Jetty 7.0.1.</li>
	<li>Individual routes can be <a href="/confluence/display/CAMEL/Graceful+Shutdown"
title="Graceful Shutdown">Graceful Shutdown</a> at runtime, which allows you to stop
the route in a more reliable and gentle way.</li>
	<li>Added <tt>removeHeaders</tt> to remove multiple headers, e.g. use <tt>removeHeaders("Camel*")</tt>
to remove all Camel related headers.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/Load+Balancer" title="Load Balancer">Failover
load balancer</a> to support round robin mode and a few other options as well.</li>
	<li>Fixed issue with Camel not being able to run deployed as a WAR in WebLogic server.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Polling+Consumer" title="Polling Consumer">Polling
Consumer</a> not working with <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>
	<li><a href="/confluence/display/CAMEL/Content+Enricher" title="Content Enricher">pollEnrich</a>
now handover completions which means you can use the <tt>move</tt> like options
from <a href="/confluence/display/CAMEL/File2" title="File2">File or FTP</a> component.
For example to enrich with a file and have that file moved when the route completes.</li>
	<li>Added @Attachments annotation to Bean binding.</li>
	<li><a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
and <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a> language now
has a build in OGNL notation which allows you to reference from <tt>Map</tt> or
<tt>List</tt> structures and as well to invoke methods in a OGNL like notation.
See more details at <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a>
wiki page.</li>
	<li><a href="/confluence/display/CAMEL/Jetty" title="Jetty">camel-jetty</a>
supports the multipart/form post out of box.</li>
	<li><a href="/confluence/display/CAMEL/Graceful+Shutdown" title="Graceful Shutdown">Graceful
Shutdown</a> now shut down routes in the reverse order in which they was started. Option
<tt>shutdownRoutesInReverseOrder</tt> can be used to control this behavior.</li>
	<li><a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a> component
now allows you to chose which output type to use with the <tt>output</tt> option.
For example you can now stream directly to a file, for example when transforming very big
xml messages.</li>
	<li><a href="/confluence/display/CAMEL/Error+Handler" title="Error Handler">Error
Handler</a> can be configure with specialized &lt;errorHandler/&gt; tag to make
it easier to configure error handling in Spring XML.</li>
	<li>Added <tt>depends-on</tt> attribute to <tt>&lt;camelContext/&gt;</tt>
so you can have other beans created before Camel when using Spring XML.</li>
	<li>Added <tt>org.apache.camel.builder.ProxyBuilder</tt> to easier create
<a href="/confluence/display/CAMEL/Using+CamelProxy" title="Using CamelProxy">Camel
Proxy</a> in Java / Java DSL.</li>
	<li><tt>ProducerTemplate</tt> and <tt>ConsumerTemplate</tt>
can now be configured with a <tt>maximumCacheSize</tt> to control how many producers/consumers
they can cache.</li>
	<li>Methods on <tt>CamelContext} to create {{ProducerTemplate</tt> and
<tt>ConsumerTemplate</tt> now pre starts the templates so they are ready to use
	<li>Fixed polling <a href="/confluence/display/CAMEL/File2" title="File2">File</a>s
on a Windows network share may skip files with a log message <tt>Ignoring unsupported
file type for file</tt>.</li>
	<li><tt>ProducerCache</tt> is now exposed for management in JMX which allows
you to 'keep an eye on it' at runtime. This cache is used by certain EIP patterns.</li>
	<li>Fixed polling <a href="/confluence/display/CAMEL/File2" title="File2">File</a>s
or <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a>s when recursive
and idempotent is enabled, which could cause Camel to not pickup files in sibling folders
with similar name to already consumed files.</li>
	<li>Improved request/reply messaging over <a href="/confluence/display/CAMEL/SEDA"
title="SEDA">SEDA</a> and <a href="/confluence/display/CAMEL/VM" title="VM">VM</a>
endpoints to work properly with many endpoints (chained).</li>
	<li><a href="/confluence/display/CAMEL/JPA" title="JPA">JPA</a> component
will now auto lookup <tt>EntityManagerFactory</tt> and <tt>TransactionManager</tt>
from <a href="/confluence/display/CAMEL/Registry" title="Registry">Registry</a>
to support convention over configuration. Then you do not any longer need to explicit configure
this on the <tt>JpaComoponent</tt>. If auto lookup failed a <tt>WARN</tt>
log is logged.</li>
	<li>Fixed camel-spring having factory beans for <tt>ProducerTemplate</tt>
and <tt>ConsumerTemplate</tt> set to non singleton, which caused it to create
new instances. Obviously it should have been singleton as you want to reuse the template.</li>
	<li>Fixed camel-spring when @Produce/@Consume/@EndpointInjected annotated was used
on prototype scoped beans, to <b>not</b> register those annotated services to
be closed in <tt>CamelContext</tt>. This caused Camel to keep references to these
services even when the prototype was no longer in used. And causing Camel to eat memory.</li>
	<li>Added <a href="/confluence/display/CAMEL/Spring+Security" title="Spring Security">camel-spring-security</a>
component, now you can use <a href=""
class="external-link" rel="nofollow">spring security</a> within camel route.</li>
	<li><a href="/confluence/display/CAMEL/Mock" title="Mock">Mock</a> endpoints
now report more detailed assertion failures when binary predicates are used, as you can see
the evaluated expression which failed.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/Tracer" title="Tracer">Tracer</a>
to make it easier for Camel end users to extend it and use custom tracing such as storing
to a database using <a href="/confluence/display/CAMEL/JPA" title="JPA">JPA</a>
but with their own <tt>@Entity</tt> class.</li>
	<li>Improved <a href="/confluence/display/CAMEL/Wire+Tap" title="Wire Tap">Wire
Tap</a> when sending a new <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
by having access to the original <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
so you can grab that information when creating the new <a href="/confluence/display/CAMEL/Exchange"
	<li>Fixed <tt>Policy</tt> to be applicable per processor, multiple processors
or the entire route</li>
	<li>Camel now checks more aggressively on startup if route nodes which mandates child
nodes also have such configured. If not an exception will be thrown on startup.</li>
	<li><a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a> is
now easier to work with as we added more type converters which supports the default type,
<tt>org.w3c.dom.NodeList</tt>, use by <a href="/confluence/display/CAMEL/XPath"
	<li>When using Spring XML you can now <a href="/confluence/display/CAMEL/How+do+I+import+routes+from+other+XML+files"
title="How do I import routes from other XML files">import routes from other XML files</a></li>
	<li>Much <a href="/confluence/display/CAMEL/How+do+I+specify+time+period+in+a+human+friendly+syntax"
title="How do I specify time period in a human friendly syntax">friendlier syntax</a>
to configure time periods in endpoint uris, for example the <a href="/confluence/display/CAMEL/Timer"
title="Timer">Timer</a> component. Or how often to poll from a <a href="/confluence/display/CAMEL/File2"
title="File2">File</a> or <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a>
	<li><a href="/confluence/display/CAMEL/HTTP" title="HTTP">Camel Http component</a>
will not consumer the message body when it parses the POST message with the content-type of
"application/x-www-form-urlencoded", and it also honors the charset setting of the "content-type".</li>
	<li>Now you can enable or disable gzip processing by setting the exchange property
with name Exchange.SKIP_GZIP_ENCODING and value Boolean.True in <a href="/confluence/display/CAMEL/HTTP"
title="HTTP">Camel Http component</a>.</li>
	<li>Improved <tt>NodeList</tt> to <tt>String</tt> converter
to include xml tags, attributes and whatnot, eg you get outputs such as <tt>&lt;foo
	<li>Added <tt>continued</tt> option to <a href="/confluence/display/CAMEL/Exception+Clause"
title="Exception Clause">Exception Clause</a> so you can use it catch the exception
and <b>continue</b> routing from the point of where the exception was thrown (Camel
will continue to the next processor in the route graph).</li>
	<li><a href="/confluence/display/CAMEL/Recipient+List" title="Recipient List">Recipient
List</a> and <a href="/confluence/display/CAMEL/Routing+Slip" title="Routing Slip">Routing
Slip</a> now has option <tt>ignoreInvalidEndpoints</tt> to just ignore and
continue if an endpoint uri was invalid.</li>
	<li>Now you can override the default XSL output properties by <a href=""
class="external-link" rel="nofollow">setting the CamelContext properties</a></li>
	<li>Now camel provides a karaf feature file with Spring 3.0.2.RELEASE, the features
url is "mvn:org.apache.camel.karaf/apache-camel/2.3.0/xml/features-spring3"</li>

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

	<li><a href="/confluence/display/CAMEL/Nagios" title="Nagios">camel-nagios</a>
for sending passive checks to <a href="" class="external-link" rel="nofollow">Nagios</a></li>
	<li><a href="/confluence/display/CAMEL/Properties" title="Properties">properties</a>
for using property placeholders to resolve endpoint uris.</li>
	<li><a href="/confluence/display/CAMEL/GAE" title="GAE">camel-gae</a> extensions
		<li><a href="/confluence/display/CAMEL/gauth" title="gauth">gauth</a>
component for implementing <a href=""
class="external-link" rel="nofollow">OAuth</a> consumers.</li>
		<li><a href="/confluence/display/CAMEL/glogin" title="glogin">glogin</a>
component for programmatic login to Google App Engine applications from Java clients.</li>
	<li><a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">camel-hawtdb</a>
as persistent store for the <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
	<li><a href="/confluence/display/CAMEL/Netty" title="Netty">camel-netty</a>
for working with TCP and UDP protocols using Java NIO based capabilities offered by the JBoss
	<li><a href="/confluence/display/CAMEL/Scalate" title="Scalate">camel-scalate</a>
for working with the ScalaTE template framework</li>
	<li><a href="/confluence/display/CAMEL/Exec" title="Exec">camel-exec</a>
for executing system commands</li>
	<li><a href="/confluence/display/CAMEL/Bean+Validation" title="Bean Validation">camel-bean-validator</a>
performs bean validation of the message body using the Java Bean Validation API (<a href=""
class="external-link" rel="nofollow">JSR 303</a>).</li>
	<li><a href="/confluence/display/CAMEL/Spring+Security" title="Spring Security">camel-spring-security</a>
support to integrate the <a href=""
class="external-link" rel="nofollow">spring security</a> with Camel.</li>
	<li><a href="/confluence/display/CAMEL/Crypto+%28Digital+Signatures%29" title="Crypto
(Digital Signatures)">camel-crypto</a> using Camel cryptographic endpoints and Java's
Cryptographic extension it is easy to create Digital Signatures for <a href="/confluence/display/CAMEL/Exchange"
	<li><a href="/confluence/display/CAMEL/camel-eclipse" title="camel-eclipse">camel-eclipse</a>
for using Camel with Eclipse RCP.</li>

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


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


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

	<li><a href="/confluence/display/CAMEL/SOAP" title="SOAP">SOAP</a> data
format provides basic webservice support without the CXF Stack</li>
	<li><a href="/confluence/display/CAMEL/Crypto" title="Crypto">Crypto</a>
data format integrates the Java Cryptographic Extension into Camel</li>

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

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

	<li><a href="/confluence/display/CAMEL/Aggregate+Example" title="Aggregate Example">camel-example-aggregate</a>
shows the new overhauled <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a>
in use with persistence storage using <a href="/confluence/display/CAMEL/HawtDB" title="HawtDB">HawtDB</a>.</li>
	<li><a href="/confluence/display/CAMEL/Spring+Security+Example" title="Spring Security
Example">camel-example-spring-security</a> shows how to use <a href="/confluence/display/CAMEL/Spring+Security"
title="Spring Security">camel-spring-security</a> to implement role based authorization.</li>
	<li><a href="/confluence/display/CAMEL/LoadBalancing+Mina+Example" title="LoadBalancing
Mina Example">camel-example-loadbalancing-mina</a> shows how to use <a href="/confluence/display/CAMEL/Load+Balancer"
title="Load Balancer">Load Balancer</a> EIP to balance communication with remote
servers using <a href="/confluence/display/CAMEL/MINA" title="MINA">MINA</a>.</li>

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

	<li>The <a href="/confluence/display/CAMEL/Tutorial-OAuth" title="Tutorial-OAuth">OAuth
tutorial</a> demonstrates how to implement <a href="" class="external-link"
rel="nofollow">OAuth</a> in web applications with Camel's new <a href="/confluence/display/CAMEL/gauth"
title="gauth">gauth</a> component.</li>

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

<p>The <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
has been overhauled and thus you need to migrate you Camel application if you use it.<br/>
See the <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
wiki page for which options it has you should use.</p>

<p>In <a href="/confluence/display/CAMEL/MINA" title="MINA">MINA</a> the
header key <tt>MinaConsumer.HEADER_CLOSE_SESSION_WHEN_COMPLETE</tt> is moved to

<p><tt>org.apache.camel.spi.PollingConsumerPollStrategy</tt> now returns
a boolean in the <tt>begin</tt> method. Use <tt>true</tt> to accept
to begin polling, and <tt>false</tt> to skip polling at this time.</p>

<p>A new method <tt>onInit</tt> has been added to <tt>org.apache.camel.spi.RoutePolicy</tt>.</p>

<p>Added method <tt>removeHeaders</tt> on the <tt>org.apache.camel.Message</tt>

<p><tt>getExecutorService/setExecutorService</tt> have been removed from
<tt>DefaultComponent</tt> and <tt>DefaultEndpoint</tt>.<br/>
You should use <tt>CamelContext.getExecutorServiceStrategy()</tt> which is the
API for creating thread pools in Camel.</p>

<p>Changed <tt>Exception</tt> to <tt>Throwable</tt> on the <tt>org.apache.camel.spi.EventFactory</tt>
and the various <tt>xxxEvent</tt> objects as Camel now catches <tt>Throwable</tt>
on shutdown to ensure a more robust shutdown in case a <tt>Throwable</tt> was

<p>Removed unused class <tt>org.apache.camel.spi.Provider</tt>.</p>

<p>Fixed spelling in the <tt>parallelProcessing</tt> option from the <tt>@RecipientList</tt>

<p><tt>GenericFile</tt> is no longer <tt></tt></p>

<p>Method <tt>adviceWith</tt> on <tt>RouteDefinition</tt> now
requires <tt>CamelContext</tt> as first parameter.</p>

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

<p>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.</p>

<p>Not all <a href="/confluence/display/CAMEL/Examples" title="Examples">Examples</a>
have ANT build.xml files to run the example using ANT.</p>

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

<p>The <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
has been overhauled and thus you need to migrate you Camel application if you use it.<br/>
See the <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a>
wiki page for which options it has you should use.</p>

<p>The <a href="/confluence/display/CAMEL/ToAsync" title="ToAsync">ToAsync</a>
feature has been @deprecated. It will be replaced by a better asynchronous routing engine
in the next Camel release.</p>

<p>The <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> endpoint
is now by default unbounded in size, where as before they had a default size of 1000.</p>

<p><a href="/confluence/display/CAMEL/Jetty" title="Jetty">camel-jetty</a>
has been upgraded to use Jetty 7.0.1 from 6.1.22. These two versions is much different as
7.x is moved to be hosted at Eclipse, which means all it package names has been renamed.</p>

<p>In <a href="/confluence/display/CAMEL/HTTP" title="HTTP">camel-http</a>
some options in relation to authentication has been renamed to avoid clashing with using <tt>username</tt>
and <tt>password</tt> as uri parameters, which can be common names to be used.
Therefore if you have configured authentication on the <a href="/confluence/display/CAMEL/HTTP"
title="HTTP">HTTP</a> endpoint you have to rename those options, and as well a authentication
method (<tt>authMethod</tt>) must be provided as well (BASIC, DIGEST, NTML).</p>

<p>Camel will now shutdown routes in reverse order in which they where started.</p>

<p>The outbound Exchange from <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>
will now by default use the original <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a>
(input to Splitter). To use the old behavior you can configure the <a href="/confluence/display/CAMEL/Splitter"
title="Splitter">Splitter</a> to use <tt>UseLatestAggregationStrategy</tt>.</p>

<p>The camel-cxf component PAYLOAD mode has been improved to delegate all SOAP message
parsing to CXF.  The camel-cxf component now requires CXF 2.2.8 or newer.</p>

<p>XPath or working with XML. Camel now converters <tt>NodeList</tt> to
<tt>String</tt> a bit differently as it now outputs the String including the XML
tags, childtags, attributes etc. If using XPath you can use the <tt>text()</tt>
function to grab only the text content.</p>

<p>The default charset which is used in camel converters can be set by using the System
property with the key <tt>org.apache.camel.default.charset</tt>, if not set it
will fallback to use <tt>UTF-8</tt> by default.</p>

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

<h3><a name="Camel2.3.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.3.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.3.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.3.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.3.0-src.tar.gz</a> </td>
<td class='confluenceTd'> <a href=""
class="external-link" rel="nofollow">apache-camel-2.3.0-src.tar.gz.asc</a> </td>

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

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

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