Author: buildbot
Date: Tue Aug 12 14:17:56 2014
New Revision: 919125

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2140-release.html
    websites/production/camel/content/oncompletion.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/camel-2140-release.html
==============================================================================
--- websites/production/camel/content/camel-2140-release.html (original)
+++ websites/production/camel/content/camel-2140-release.html Tue Aug 12 
14:17:56 2014
@@ -84,7 +84,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 
id="Camel2.14.0Release-Camel2.14.0release(currentlyinprogress)">Camel 2.14.0 
release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"; 
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png";></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.14.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the 2.14.0 release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li>Support for running on Java 1.8 
JVMs</li><li>Spring 4.x supported.</li><li><a shape="rect" 
href="rest-dsl.html">REST DSL</a> to define REST services using a REST style 
with verbs such as get/post/put/delete etc. The Rest DSL supports Java and XML 
DSL.</li><li><a shape="rect" href="rest-dsl.html">REST DSL
 </a> integrated with <a shape="rect" href="swagger.html">Swagger</a> to expose 
the service as swagger apis.</li><li>Simple language defined in routes using 
resultType as boolean is now evaluated as predicate instead of as 
expression.</li><li>Introduced RuntimeEndpointRegistry to capture runtime usage 
of endpoints in use during routing, such as dynamic endpoints from dynamic <a 
shape="rect" href="eip.html">EIP</a>s.</li><li>Added event notification for 
routes added and removed.</li><li>Allow to configure cache size in Recipient 
List, Routing Slip and Dynamic Router EIPs; and as well turn caching 
off.</li><li><a shape="rect" href="netty-http.html">Netty 
HTTP</a>&#160;producer now supports the <span>CamelHttpPath header to define a 
dynamic context-path and query parameters to call the remote http 
server.</span></li><li><span><a shape="rect" 
href="polling-consumer.html">Polling Consumer</a>&#160;allows to configure 
initial queue size and whether to block when full when using the default
 &#160;<code>EventDrivenPollingConsumer</code> which most components does. We 
now block by default, as otherwise the message may be lost if the queue was 
full, and a new message was offered.</span></li><li><span><a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7435";>Added</a> a generic 
callback to configure the <a shape="rect" href="apns.html">APNS</a> service 
builder.</span></li><li><span>Added&#160;<code>StreamList</code> option to 
the&#160;<a shape="rect" href="jdbc.html">JDBC</a> 
component</span></li><li>Allow to define Simple expressions for sql parameters 
of the <a shape="rect" href="sql-component.html">SQL</a> component.<span><br 
clear="none"></span></li><li>A new XML tokenizer that is truly XML-aware (e.g., 
supporting XML namespaces and complex hierarchical structures)</li><li>Added 
option&#160;<code>parallelAggregate</code> to <a shape="rect" 
href="multicast.html">Multicast</a>, <a shape="rect" 
href="splitter.html">Splitter</a> and <a s
 hape="rect" href="recipient-list.html">Recipient 
List</a>&#160;EIPs</li><li>Support to set the variable map from message header 
in <a shape="rect" href="velocity.html">Velocity</a>, <a shape="rect" 
href="freemarker.html">Freemarker</a>, <a shape="rect" 
href="stringtemplate.html">StringTemplate</a>.</li><li><span>Added 
HazelcastInstance option to&#160;<span><a shape="rect" 
href="hazelcast-component.html">Hazelcast</a> 
component.</span></span></li><li>Producers from static <a shape="rect" 
href="eip.html">EIPs</a> such as &lt;to&gt; is is now also enlisted in <a 
shape="rect" href="camel-jmx.html">JMX</a> when Camel is starting 
routes.</li><li>Unmarshal json to pojo using&#160;<code>camel-jackson</code> 
now supports a header to tell Camel what the pojo class name is, to allow more 
dynamic behavior, as otherwise the class name would be hardcoded.</li><li>Also 
allow to configure&#160;<code>camel-jackson</code> to skip null values, by 
setting includes to&#160;<code>NOT_NULL</code>.</li><li
 >And&#160;<code>camel-jackson</code> can now easily be configured to unmarshal 
 >to a&#160;<code>List&lt;pojo&gt;</code>&#160;or 
 ><code>List&lt;Map&gt;</code>&#160;instead of either a single pojo 
 >or&#160;<code>Map</code> 
 >type.&#160;</li><li>Introduced&#160;<code>SynchronizationRouteAware</code> 
 >allowing to have callbacks before/after an Exchange is being routed. This 
 >allows to trigger custom code at these points, for example after a route, but 
 >before a Consumer writes any response back to a caller (InOut 
 >mode).</li><li><a shape="rect" href="jdbc.html">JDBC</a>&#160;now supports 
 >outputClass for SelectList type.</li><li>Routes starting from&#160;<a 
 >shape="rect" href="jms.html">JMS</a>&#160;will now shutdown the consumer 
 >(MessageListenerContainer) quicker when CamelContext is being stopped. 
 >(assuming the&#160;<span style="color: 
 >rgb(0,0,0);">acceptMessagesWhileStopping hasn't been set to true). This can 
 >also help a cleaner shutdown as otherwise some JMS clients may attempt 
 >re-connect/fail
 over during shutdown which isn't desired anyway as we are shutting 
down.</span></li></ul><h3 id="Camel2.14.0Release-FixedIssues">Fixed 
Issues</h3><ul><li>Timer consumer is now scheduled after CamelContext has 
started all routes, to ensure other routes is running when timer routes is 
triggered to run.</li><li><a shape="rect" href="netty-http.html">Netty HTTP</a> 
now returns HTTP status 404 if resource not found instead of 503.</li><li>Fixed 
the <a shape="rect" class="external-link" 
href="https://camel.apache.org/mongodb.html";>MongoDB</a>&#160;<code>readPreference</code>&#160;option
 which used to cause an <code>IllegalArgumentException</code>&#160;to be 
thrown.</li><li>Fixed issue with Netty producer may leak HashWhealTimer 
instances when having many producers that are not reused.</li><li>Fixed issue 
with Netty consumer should wait for join to complete when joining a multicast 
group over UDP&#160;</li><li>Improved stability when testing 
with&#160;<code>camel-test-blueprint</code> comp
 onent.</li><li><a shape="rect" href="netty-http.html">Netty HTTP</a>&#160;now 
<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7506";>removes</a> 
<code>headerFilterStrategy</code> option after resolving<span 
class="overlay-icon aui-icon aui-icon-small 
aui-iconfont-edit">&#160;</span>it</li><li>Fixed <a shape="rect" 
href="aggregator2.html">POJO aggregating</a> when the parameter type was 
referring to a type that was class annotated.</li><li>Fixed&#160;<a 
shape="rect" href="mybatis.html">MyBatis</a>&#160;to keep the message body 
as-is when calling stored procedures, if the procedure returns data as OUT 
parameters.</li><li>Fixed Camel Karaf commands to work with multiple 
CamelContext from the same bundle.</li><li>Fixed <a shape="rect" 
href="advicewith.html">Advice-With</a> to work with transacted routes defined 
in XML DSL</li><li>Fixed <a shape="rect" href="advicewith.html">Advice-With</a> 
to work with Content Based Router when adding outputs to th
 e when 
clauses.</li><li>Improved&#160;<span><code>NettyWorkerPoolBuilder#build</code> 
<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7583";>visibility</a>.</span></li></ul><h3
 id="Camel2.14.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><ul><li><a shape="rect" href="load-balancer.html">Circuit 
Breaker</a> pattern implemented as a Load Balancer policy</li></ul><h3 
id="Camel2.14.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li>camel-ahc-ws</li><li>camel-atmosphere-websocket</li><li>camel-box</li><li><a
 shape="rect" 
href="dropbox.html">camel-dropbox</a></li><li>camel-metrics</li><li>camel-netty4</li><li><a
 shape="rect" href="openshift.html">camel-openshift</a></li><li><a shape="rect" 
href="gora.html">camel-gora</a></li><li><a shape="rect" 
href="rest.html">camel-rest</a> (in camel-core)</li><li><a shape="rect" 
href="spark-rest.html">camel-sp
 ar</a><a shape="rect" href="spark-rest.html">k-rest</a></li><li><a 
shape="rect" href="swagger.html">camel-swagger</a>&#160;</li></ul><h3 
id="Camel2.14.0Release-New.2">New <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a></h3><h3 
id="Camel2.14.0Release-NewDSL">New DSL</h3><h3 
id="Camel2.14.0Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.14.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" 
href="gora.html">camel-</a><a shape="rect" 
href="barcode-data-format.html">barcode</a></li></ul><h3 
id="Camel2.14.0Release-New.3">New <a shape="rect" 
href="languages.html">Languages</a></h3><ul><li>XMLTokenizer</li></ul><h3 
id="Camel2.14.0Release-New.4">New <a shape="rect" 
href="examples.html">Examples</a></h3><h3 id="Camel2.14.0Release-New.5">New <a 
shape="rect" href="tutorials.html">Tutorials</a></h3><h3 
id="Camel2.14.0Release-NewTooling">New Tooling</h3><h2 
id="Camel2.14.0Release-APIchanges">AP
 I changes</h2><ul><li><p>Removed duplicate getter 
<code>getMessageHistory</code> 
on&#160;<code>ManagedCamelContextMBean</code></p></li><li><p>Added 
org.apache.camel.spi.SynchronizationRouteAware</p></li><li>Added&#160;beforeRoute
 and afterRoute methods to UnitOfWork.</li></ul><h2 
id="Camel2.14.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.14.0Release-DependencyUpgrades">Dependency Upgrades</h2><p>You can 
see any dependency changes using <a shape="rect" class="external-link" 
href="http://vdiff.notsoclever.cc/"; rel="nofollow">Camel Dependencies Version 
Differences web tool</a> created by Tracy Snell from the Camel <a shape="rect" 
href="team.html">Team</a>.</p><p>The below list is a best effort, and we may 
miss some updates, its better to use the <a shape="rect" class="external-link" 
href="http://vdiff.notsoclever.cc/"; rel="nofollow">Camel Dependencies Version 
Differences web tool</a> which uses the released projects for 
comparison.</p><ul><li>Atomikos 3.9.2 to 3.9.3</li><li>Co
 mmons-codec 1.8 to 1.9</li><li>CXF 2.7.11 to 3.0.1</li><li>Deltaspike 0.7 to 
1.0.1</li><li>Dozer 5.4.0 to 5.5.1</li><li>EhCache 2.8.1 to 
2.8.3</li><li>Groovy 2.2.2 to 2.3.4</li><li>Guava 16.0.1 to 17.0</li><li>Hapi 
2.1 to 2.2</li><li>Hazelcast 3.0.3 to 3.2.4</li><li>JRuby 1.7.10 to 
1.7.12</li><li>MongoDB-Java-Driver 2.11.4 to 2.12.0</li><li>RabbitMQ AMQ Client 
3.2.2 to 3.3.0</li><li>Restlet 2.17 to 2.2.1</li><li>RxJava 0.17.5 to 
0.19.4</li><li>Scala 2.10.3 to 2.11.2</li><li>Snmp4j 2.2.5 to 
2.3.0</li><li>SSHD 0.10.1 to 0.11.0</li><li>spring-redis 1.1.0 to 
1.3.0</li><li>Twitter4j 3.0.5 x to 4.0.1</li></ul><h2 
id="Camel2.14.0Release-Internalchanges">Internal changes</h2><ul><li>Changed 
...</li></ul><h2 id="Camel2.14.0Release-Changesthatmayaffectendusers">Changes 
that may affect end users</h2><ul><li><a shape="rect" 
href="polling-consumer.html">Polling Consumer</a>&#160;allows to configure 
initial queue size and whether to block when full when using the 
default&#160;<code>EventDrivenPol
 lingConsumer</code> which most components does. We now block by default, as 
otherwise the message may be lost if the queue was full, and a new message was 
offered.</li><li><code>camel-scala</code> upgraded from Scala 2.10.x to 
2.11.x</li><li>The option&#160;<code>useSsl</code> has been removed 
from&#160;<code>camel-twitter</code> as ssl is always enabled now, enforced by 
twitter</li><li>Fixed&#160;<a shape="rect" href="restlet.html">Restlet</a> to 
return error code 405 (instead of 404 if a http method is not 
allowed</li><li>Routes starting from&#160;<a shape="rect" 
href="jms.html">JMS</a>&#160;will now shutdown the consumer 
(MessageListenerContainer) quicker when CamelContext is being stopped. 
(assuming the&#160;<span style="color: rgb(0,0,0);">acceptMessagesWhileStopping 
hasn't been set to true). This can also help a cleaner shutdown as otherwise 
some JMS clients may attempt re-connect/failover during shutdown which isn't 
desired anyway as we are shutting down. If you want the rout
 es to keep accepting messages during shutdown of Camel, then set&#160;<span 
style="color: 
rgb(0,0,0);">acceptMessagesWhileStopping=true.</span></span></li></ul><h2 
id="Camel2.14.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Java 1.6 no longer 
supported.</li><li>Unit testing with Spring 3.x now requires using 
camel-test-spring3, as camel-test-spring is for Spring 4.x<br clear="none"><br 
clear="none"></li></ul><h2 
id="Camel2.14.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.14.0Release-BinaryDistributions">Binary 
Distributions</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Windo
 ws Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip";>apache-camel-2.14.0.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip.asc";>apache-camel-2.14.0.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz";>apache-camel-2.14.0.tar.gz</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz.asc";>apache-camel-2.14.0.tar.gz.a
 sc</a></p></td></tr></tbody></table></div><h3 
id="Camel2.14.0Release-SourceDistribution">Source Distribution</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>PGP Signature file of 
download</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip";>apache-camel-2.14.0-src.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip.asc";>apache-camel-2.14.0-src.zip.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.14.0Relea
 se-GettingtheBinariesusingMaven2">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 shape="rect" class="external-link" 
href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html";>Maven
 POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h1 
id="Camel2.14.0Release-Camel2.14.0release(currentlyinprogress)">Camel 2.14.0 
release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"; 
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png";></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.14.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the 2.14.0 release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li>Support for running on Java 1.8 
JVMs</li><li>Spring 4.x supported.</li><li><a shape="rect" 
href="rest-dsl.html">REST DSL</a> to define REST services using a REST style 
with verbs such as get/post/put/delete etc. The Rest DSL supports Java and XML 
DSL.</li><li><a shape="rect" href="rest-dsl.html">REST DSL
 </a> integrated with <a shape="rect" href="swagger.html">Swagger</a> to expose 
the service as swagger apis.</li><li>Simple language defined in routes using 
resultType as boolean is now evaluated as predicate instead of as 
expression.</li><li>Introduced RuntimeEndpointRegistry to capture runtime usage 
of endpoints in use during routing, such as dynamic endpoints from dynamic <a 
shape="rect" href="eip.html">EIP</a>s.</li><li>Added event notification for 
routes added and removed.</li><li>Allow to configure cache size in Recipient 
List, Routing Slip and Dynamic Router EIPs; and as well turn caching 
off.</li><li><a shape="rect" href="netty-http.html">Netty 
HTTP</a>&#160;producer now supports the <span>CamelHttpPath header to define a 
dynamic context-path and query parameters to call the remote http 
server.</span></li><li><span><a shape="rect" 
href="polling-consumer.html">Polling Consumer</a>&#160;allows to configure 
initial queue size and whether to block when full when using the default
 &#160;<code>EventDrivenPollingConsumer</code> which most components does. We 
now block by default, as otherwise the message may be lost if the queue was 
full, and a new message was offered.</span></li><li><span><a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7435";>Added</a> a generic 
callback to configure the <a shape="rect" href="apns.html">APNS</a> service 
builder.</span></li><li><span>Added&#160;<code>StreamList</code> option to 
the&#160;<a shape="rect" href="jdbc.html">JDBC</a> 
component</span></li><li>Allow to define Simple expressions for sql parameters 
of the <a shape="rect" href="sql-component.html">SQL</a> component.<span><br 
clear="none"></span></li><li>A new XML tokenizer that is truly XML-aware (e.g., 
supporting XML namespaces and complex hierarchical structures)</li><li>Added 
option&#160;<code>parallelAggregate</code> to <a shape="rect" 
href="multicast.html">Multicast</a>, <a shape="rect" 
href="splitter.html">Splitter</a> and <a s
 hape="rect" href="recipient-list.html">Recipient 
List</a>&#160;EIPs</li><li>Support to set the variable map from message header 
in <a shape="rect" href="velocity.html">Velocity</a>, <a shape="rect" 
href="freemarker.html">Freemarker</a>, <a shape="rect" 
href="stringtemplate.html">StringTemplate</a>.</li><li><span>Added 
HazelcastInstance option to&#160;<span><a shape="rect" 
href="hazelcast-component.html">Hazelcast</a> 
component.</span></span></li><li>Producers from static <a shape="rect" 
href="eip.html">EIPs</a> such as &lt;to&gt; is is now also enlisted in <a 
shape="rect" href="camel-jmx.html">JMX</a> when Camel is starting 
routes.</li><li>Unmarshal json to pojo using&#160;<code>camel-jackson</code> 
now supports a header to tell Camel what the pojo class name is, to allow more 
dynamic behavior, as otherwise the class name would be hardcoded.</li><li>Also 
allow to configure&#160;<code>camel-jackson</code> to skip null values, by 
setting includes to&#160;<code>NOT_NULL</code>.</li><li
 >And&#160;<code>camel-jackson</code> can now easily be configured to unmarshal 
 >to a&#160;<code>List&lt;pojo&gt;</code>&#160;or 
 ><code>List&lt;Map&gt;</code>&#160;instead of either a single pojo 
 >or&#160;<code>Map</code> 
 >type.&#160;</li><li>Introduced&#160;<code>SynchronizationRouteAware</code> 
 >allowing to have callbacks before/after an Exchange is being routed. This 
 >allows to trigger custom code at these points, for example after a route, but 
 >before a Consumer writes any response back to a caller (InOut 
 >mode).</li><li><a shape="rect" href="jdbc.html">JDBC</a>&#160;now supports 
 >outputClass for SelectList type.</li><li>Routes starting from&#160;<a 
 >shape="rect" href="jms.html">JMS</a>&#160;will now shutdown the consumer 
 >(MessageListenerContainer) quicker when CamelContext is being stopped. 
 >(assuming the&#160;<span style="color: 
 >rgb(0,0,0);">acceptMessagesWhileStopping hasn't been set to true). This can 
 >also help a cleaner shutdown as otherwise some JMS clients may attempt 
 >re-connect/fail
 over during shutdown which isn't desired anyway as we are shutting 
down.</span></li><li><span style="color: rgb(0,0,0);"><a shape="rect" 
href="oncompletion.html">OnCompletion</a> can now be configured to use or not 
use a thread pool, and as well whether to run before or after the route 
consumer. Running before the consumer allows to modify the exchange before the 
consumer writes it as response to the callee (if consumer is InOut mode)<br 
clear="none"></span></li></ul><h3 id="Camel2.14.0Release-FixedIssues">Fixed 
Issues</h3><ul><li>Timer consumer is now scheduled after CamelContext has 
started all routes, to ensure other routes is running when timer routes is 
triggered to run.</li><li><a shape="rect" href="netty-http.html">Netty HTTP</a> 
now returns HTTP status 404 if resource not found instead of 503.</li><li>Fixed 
the <a shape="rect" class="external-link" 
href="https://camel.apache.org/mongodb.html";>MongoDB</a>&#160;<code>readPreference</code>&#160;option
 which used to cause an <co
 de>IllegalArgumentException</code>&#160;to be thrown.</li><li>Fixed issue with 
Netty producer may leak HashWhealTimer instances when having many producers 
that are not reused.</li><li>Fixed issue with Netty consumer should wait for 
join to complete when joining a multicast group over UDP&#160;</li><li>Improved 
stability when testing with&#160;<code>camel-test-blueprint</code> 
component.</li><li><a shape="rect" href="netty-http.html">Netty 
HTTP</a>&#160;now <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7506";>removes</a> 
<code>headerFilterStrategy</code> option after resolving<span 
class="overlay-icon aui-icon aui-icon-small 
aui-iconfont-edit">&#160;</span>it</li><li>Fixed <a shape="rect" 
href="aggregator2.html">POJO aggregating</a> when the parameter type was 
referring to a type that was class annotated.</li><li>Fixed&#160;<a 
shape="rect" href="mybatis.html">MyBatis</a>&#160;to keep the message body 
as-is when calling stored procedures, if th
 e procedure returns data as OUT parameters.</li><li>Fixed Camel Karaf commands 
to work with multiple CamelContext from the same bundle.</li><li>Fixed <a 
shape="rect" href="advicewith.html">Advice-With</a> to work with transacted 
routes defined in XML DSL</li><li>Fixed <a shape="rect" 
href="advicewith.html">Advice-With</a> to work with Content Based Router when 
adding outputs to the when 
clauses.</li><li>Improved&#160;<span><code>NettyWorkerPoolBuilder#build</code> 
<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7583";>visibility</a>.</span></li></ul><h3
 id="Camel2.14.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><ul><li><a shape="rect" href="load-balancer.html">Circuit 
Breaker</a> pattern implemented as a Load Balancer policy</li></ul><h3 
id="Camel2.14.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li>camel-ahc-ws</li><li>camel-atmosphere
 -websocket</li><li>camel-box</li><li><a shape="rect" 
href="dropbox.html">camel-dropbox</a></li><li>camel-metrics</li><li>camel-netty4</li><li><a
 shape="rect" href="openshift.html">camel-openshift</a></li><li><a shape="rect" 
href="gora.html">camel-gora</a></li><li><a shape="rect" 
href="rest.html">camel-rest</a> (in camel-core)</li><li><a shape="rect" 
href="spark-rest.html">camel-spar</a><a shape="rect" 
href="spark-rest.html">k-rest</a></li><li><a shape="rect" 
href="swagger.html">camel-swagger</a>&#160;</li></ul><h3 
id="Camel2.14.0Release-New.2">New <a shape="rect" 
href="camel-maven-archetypes.html">Camel Maven Archetypes</a></h3><h3 
id="Camel2.14.0Release-NewDSL">New DSL</h3><h3 
id="Camel2.14.0Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.14.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" 
href="gora.html">camel-</a><a shape="rect" 
href="barcode-data-format.html">barcode</a></li></ul><h3 id="Camel2.14.0Rele
 ase-New.3">New <a shape="rect" 
href="languages.html">Languages</a></h3><ul><li>XMLTokenizer</li></ul><h3 
id="Camel2.14.0Release-New.4">New <a shape="rect" 
href="examples.html">Examples</a></h3><h3 id="Camel2.14.0Release-New.5">New <a 
shape="rect" href="tutorials.html">Tutorials</a></h3><h3 
id="Camel2.14.0Release-NewTooling">New Tooling</h3><h2 
id="Camel2.14.0Release-APIchanges">API changes</h2><ul><li><p>Removed duplicate 
getter <code>getMessageHistory</code> 
on&#160;<code>ManagedCamelContextMBean</code></p></li><li><p>Added 
org.apache.camel.spi.SynchronizationRouteAware</p></li><li>Added&#160;beforeRoute
 and afterRoute methods to UnitOfWork.</li></ul><h2 
id="Camel2.14.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.14.0Release-DependencyUpgrades">Dependency Upgrades</h2><p>You can 
see any dependency changes using <a shape="rect" class="external-link" 
href="http://vdiff.notsoclever.cc/"; rel="nofollow">Camel Dependencies Version 
Differences web tool</a> created by Tracy Snell f
 rom the Camel <a shape="rect" href="team.html">Team</a>.</p><p>The below list 
is a best effort, and we may miss some updates, its better to use the <a 
shape="rect" class="external-link" href="http://vdiff.notsoclever.cc/"; 
rel="nofollow">Camel Dependencies Version Differences web tool</a> which uses 
the released projects for comparison.</p><ul><li>Atomikos 3.9.2 to 
3.9.3</li><li>Commons-codec 1.8 to 1.9</li><li>CXF 2.7.11 to 
3.0.1</li><li>Deltaspike 0.7 to 1.0.1</li><li>Dozer 5.4.0 to 
5.5.1</li><li>EhCache 2.8.1 to 2.8.3</li><li>Groovy 2.2.2 to 
2.3.4</li><li>Guava 16.0.1 to 17.0</li><li>Hapi 2.1 to 2.2</li><li>Hazelcast 
3.0.3 to 3.2.4</li><li>JRuby 1.7.10 to 1.7.12</li><li>MongoDB-Java-Driver 
2.11.4 to 2.12.0</li><li>RabbitMQ AMQ Client 3.2.2 to 3.3.0</li><li>Restlet 
2.17 to 2.2.1</li><li>RxJava 0.17.5 to 0.19.4</li><li>Scala 2.10.3 to 
2.11.2</li><li>Snmp4j 2.2.5 to 2.3.0</li><li>SSHD 0.10.1 to 
0.11.0</li><li>spring-redis 1.1.0 to 1.3.0</li><li>Twitter4j 3.0.5 x to 
4.0.1</li></ul><h2
  id="Camel2.14.0Release-Internalchanges">Internal changes</h2><ul><li>Changed 
...</li></ul><h2 id="Camel2.14.0Release-Changesthatmayaffectendusers">Changes 
that may affect end users</h2><ul><li><a shape="rect" 
href="polling-consumer.html">Polling Consumer</a>&#160;allows to configure 
initial queue size and whether to block when full when using the 
default&#160;<code>EventDrivenPollingConsumer</code> which most components 
does. We now block by default, as otherwise the message may be lost if the 
queue was full, and a new message was offered.</li><li><code>camel-scala</code> 
upgraded from Scala 2.10.x to 2.11.x</li><li>The 
option&#160;<code>useSsl</code> has been removed 
from&#160;<code>camel-twitter</code> as ssl is always enabled now, enforced by 
twitter</li><li>Fixed&#160;<a shape="rect" href="restlet.html">Restlet</a> to 
return error code 405 (instead of 404 if a http method is not 
allowed</li><li>Routes starting from&#160;<a shape="rect" 
href="jms.html">JMS</a>&#160;will now shut
 down the consumer (MessageListenerContainer) quicker when CamelContext is 
being stopped. (assuming the&#160;<span style="color: 
rgb(0,0,0);">acceptMessagesWhileStopping hasn't been set to true). This can 
also help a cleaner shutdown as otherwise some JMS clients may attempt 
re-connect/failover during shutdown which isn't desired anyway as we are 
shutting down. If you want the routes to keep accepting messages during 
shutdown of Camel, then set&#160;<span style="color: 
rgb(0,0,0);">acceptMessagesWhileStopping=true.</span></span></li><li><span 
style="color: rgb(0,0,0);"><span style="color: rgb(0,0,0);"><a shape="rect" 
href="oncompletion.html">OnCompletion</a> now runs without thread pool by 
default. To restore old behavior set&#160;<code>paralllelProcessing</code> to 
true.<br clear="none"></span></span></li></ul><h2 
id="Camel2.14.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Java 1.6 no longer 
supported.</li><li>Unit testing
  with Spring 3.x now requires using camel-test-spring3, as camel-test-spring 
is for Spring 4.x<br clear="none"><br clear="none"></li></ul><h2 
id="Camel2.14.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.14.0Release-BinaryDistributions">Binary 
Distributions</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Windows 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip";>apache-camel-2.14.0.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" h
 
ref="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip.asc";>apache-camel-2.14.0.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz";>apache-camel-2.14.0.tar.gz</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz.asc";>apache-camel-2.14.0.tar.gz.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.14.0Release-SourceDistribution">Source Distribution</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspa
 n="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of 
download</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip";>apache-camel-2.14.0-src.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip.asc";>apache-camel-2.14.0-src.zip.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.14.0Release-GettingtheBinariesusingMaven2">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 shape="rect" 
class="external-link" 
href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html";>Maven
 POM</a> is:</p><div class="c
 ode panel pdl" style="border-width: 1px;"><div class="codeContent panelContent 
pdl">
 <script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;

Modified: websites/production/camel/content/oncompletion.html
==============================================================================
--- websites/production/camel/content/oncompletion.html (original)
+++ websites/production/camel/content/oncompletion.html Tue Aug 12 14:17:56 2014
@@ -93,8 +93,15 @@
                             <p>You can get hold of the 
<code>org.apache.camel.spi.UnitOfWork</code> from 
<code>org.apache.camel.Exchange</code> with the method 
<code>getUnitOfWork()</code>.</p>
                     </div>
     </div>
-<p>In Camel 2.0 we have added DSL for these callbacks using the new 
<strong>onCompletion</strong> DSL name.</p><p><strong>onCompletion</strong> 
supports the following features:</p><ul class="alternate"><li>scope: global 
and/or per route (route scope override all global scope)</li><li>multiple 
global scope</li><li>triggered either always, only if completed with success, 
or only if failed</li><li><code>onWhen</code> predicate to only trigger in 
certain situations</li></ul>    <div class="aui-message hint shadowed 
information-macro">
-                    <p class="title">On completion runs in separate thread</p>
+<p>In Camel 2.0 we have added DSL for these callbacks using the new 
<strong>onCompletion</strong> DSL name.</p><p><strong>onCompletion</strong> 
supports the following features:</p><ul class="alternate"><li>scope: global 
and/or per route (route scope override all global scope)</li><li><span 
style="line-height: 1.4285715;">multiple global scope</span></li><li>triggered 
either always, only if completed with success, or only if 
failed</li><li><code>onWhen</code> predicate to only trigger in certain 
situations</li><li><strong>Camel 2.14:</strong> mode: to define whether to run 
either before or after route consumer writes response back to callee (if its 
InOut)</li><li><strong>Camel 2.14: </strong>whether to run async or sync (use a 
thread pool or not)</li></ul><p>From&#160;<strong>Camel 2.14</strong> onwards 
the onCompletion has been modified to support running the completion task in 
either synchronous or asynchronous mode (using a thread pool) and also whether 
to run before or after the 
 route consumer is done. The reason is to give more flexibility. For example to 
specify to run synchronous and before the route consumer is done, which allows 
to modify the exchange before the consumer writes back any response to the 
callee. You can use this to for example add customer headers, or send to a log 
to log the response message, etc.</p>    <div class="aui-message hint shadowed 
information-macro">
+                    <p class="title">Changes from Camel 2.14 onwards</p>
+                            <span class="aui-icon icon-hint">Icon</span>
+                <div class="message-content">
+                            <p>The onCompletion has changed defaults and 
behavior from Camel 2.14 onwards. It now runs</p><ul style="list-style-type: 
square;"><li>Runs synchronously without any thread pool</li></ul><p>In Camel 
2.13 the defaults were</p><ul><li>Runs asynchronous using a thread 
pool</li></ul>
+                    </div>
+    </div>
+    <div class="aui-message hint shadowed information-macro">
+                    <p class="title">Camel 2.13 or older - On completion runs 
in separate thread</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
                             <p>The <strong>onCompletion</strong> runs in a 
separate thread in parallel with the original route. It is therefore not 
intended to influence the outcome of the original route. The idea for on 
completion is to spin off a new thread to eg send logs to a central log 
database, send an email, send alterts to a monitoring system, store a copy of 
the result message etc.<br clear="none"> Therefore if you want to do some work 
that influence the original route, then do <strong>not</strong> use 
<strong>onCompletion</strong> for that. Notice: if you use the 
<code>UnitOfWork</code> API as mentioned in the top of this page, then you can 
register a <code>Synchronization</code> callback on the <a shape="rect" 
href="exchange.html">Exchange</a> which is executed in the original route. That 
way allows you to do some custom code when the route is completed; this is how 
custom components can enlist on completion services which they need, eg the <a 
shape="rect" href="file2.ht
 ml">File</a> component does that for work that moves/deletes the original file 
etc.</p>
@@ -208,7 +215,34 @@ from(&quot;direct:start&quot;)
     .to(&quot;log:original&quot;)
     .to(&quot;mock:result&quot;);
 ]]></script>
-</div></div><h3 id="OnCompletion-SeeAlso">See Also</h3><ul 
class="alternate"><li>Unit of Work</li></ul></div>
+</div></div><h3 
id="OnCompletion-UsingonCompletionwithorwithoutthreadpool">Using onCompletion 
with or without thread pool</h3><p><strong>Available as of Camel 
2.14</strong></p><p>OnCompletion will from Camel 2.14 onwards not use thread 
pool by default. To use thread pool then either set 
a&#160;<code>executorService</code> or set <code>parallelProcessing</code> to 
true.</p><p>For example in Java DSL do</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[                
onCompletion().parallelProcessing()
+                    .to(&quot;mock:before&quot;)
+                    .delay(1000)
+                    
.setBody(simple(&quot;OnComplete:${body}&quot;));]]></script>
+</div></div><p>And in XML DSL</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[      &lt;onCompletion 
parallelProcessing=&quot;true&quot;&gt;
+        &lt;to uri=&quot;before&quot;/&gt;
+        &lt;delay&gt;&lt;constant&gt;1000&lt;/constant&gt;&lt;/delay&gt;
+        
&lt;setBody&gt;&lt;simple&gt;OnComplete:${body}&lt;/simple&gt;&lt;/setBody&gt;
+      &lt;/onCompletion&gt;]]></script>
+</div></div><p>You can also refer to a specific <a shape="rect" 
href="threading-model.html">thread pool</a> to be used, using the 
executorServiceRef option</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[      &lt;onCompletion 
executorServiceRef=&quot;myThreadPool&quot;&gt;
+        &lt;to uri=&quot;before&quot;/&gt;
+        &lt;delay&gt;&lt;constant&gt;1000&lt;/constant&gt;&lt;/delay&gt;
+        
&lt;setBody&gt;&lt;simple&gt;OnComplete:${body}&lt;/simple&gt;&lt;/setBody&gt;
+      &lt;/onCompletion&gt;]]></script>
+</div></div><p>&#160;</p><h3 
id="OnCompletion-UsingonCompletiontorunbeforerouteconsumersendsbackresponsetocallee">Using
 onCompletion to run before route consumer sends back response to 
callee</h3><p><strong>Available as of Camel 2.14</strong></p><p>OnCompletion 
supports two modes</p><ul style="list-style-type: square;"><li>AfterConsumer - 
Default mode which runs after the consumer is done</li><li>BeforeConsumer - 
Runs before the consumer is done, and before the consumer writes back response 
to the callee</li></ul><p>The AfterConsumer mode is the default mode which is 
the same behavior as in older Camel releases.</p><p>The new BeforeConsumer mode 
is used to run onCompletion before the consumer writes its response back to the 
callee (if in InOut mode). This allows the onCompletion to modify the Exchange, 
such as adding special headers, or to log the Exchange as a response logger 
etc.</p><p>For example to always add a "created by" header you 
use&#160;<code>modeBeforeConsumer()</code> a
 s shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[    .onCompletion().modeBeforeConsumer()
+        .setHeader(&quot;createdBy&quot;, constant(&quot;Someone&quot;))
+    .end()]]></script>
+</div></div><p>&#160;</p><p>And in XML DSL you set the mode attribute to 
BeforeConsumer:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[      &lt;onCompletion 
mode=&quot;BeforeConsumer&quot;&gt;
+        &lt;setHeader headerName=&quot;createdBy&quot;&gt;
+          &lt;constant&gt;Someone&lt;/constant&gt;
+        &lt;/setHeader&gt;
+      &lt;/onCompletion&gt;]]></script>
+</div></div><p>&#160;</p><h3 id="OnCompletion-SeeAlso">See Also</h3><ul 
class="alternate"><li>Unit of Work</li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to