Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Thu Jan 21 08:33:33 
2016
@@ -3729,11 +3729,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1453238374181 {padding: 0px;}
-div.rbtoc1453238374181 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1453238374181 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453364509864 {padding: 0px;}
+div.rbtoc1453364509864 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453364509864 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1453238374181">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453364509864">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -5838,11 +5838,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1453238375104 {padding: 0px;}
-div.rbtoc1453238375104 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1453238375104 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453364511171 {padding: 0px;}
+div.rbtoc1453364511171 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453364511171 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1453238375104">
+/*]]>*/</style><div class="toc-macro rbtoc1453364511171">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -17292,11 +17292,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookInOnePage-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to consume web 
 services. The bean component's configuration is also simpler and provides the 
fastest method to implement web services using Camel and 
CXF.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The 
<strong>cxf:</strong> component provides integration with <a shape="rect" 
href="http://cxf.apache.org";>Apache CXF</a> for connecting to JAX-WS services 
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1453238399091 {padding: 0px;}
-div.rbtoc1453238399091 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1453238399091 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453364538620 {padding: 0px;}
+div.rbtoc1453364538620 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453364538620 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1453238399091">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453364538620">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>

Modified: websites/production/camel/content/book-tutorials.html
==============================================================================
--- websites/production/camel/content/book-tutorials.html (original)
+++ websites/production/camel/content/book-tutorials.html Thu Jan 21 08:33:33 
2016
@@ -143,11 +143,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookTutorials-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookTutorials-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1450347874999 {padding: 0px;}
-div.rbtoc1450347874999 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1450347874999 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453364766224 {padding: 0px;}
+div.rbtoc1453364766224 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453364766224 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1450347874999">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453364766224">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookTutorials-Preface">Preface</a></li><li><a shape="rect" 
href="#BookTutorials-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookTutorials-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookTutorials-About">About</a></li><li><a shape="rect" 
href="#BookTutorials-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookTutorials-WritingtheServer">Writing the 
Server</a>
@@ -2252,11 +2252,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1450347875335 {padding: 0px;}
-div.rbtoc1450347875335 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1450347875335 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453364766599 {padding: 0px;}
+div.rbtoc1453364766599 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453364766599 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1450347875335">
+/*]]>*/</style><div class="toc-macro rbtoc1453364766599">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookTutorials-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookTutorials-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookTutorials-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookTutorials-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookTutorials-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookTutorials-RunningtheExample">Running the 
Example</a></li></ul>

Modified: websites/production/camel/content/camel-2170-release.html
==============================================================================
--- websites/production/camel/content/camel-2170-release.html (original)
+++ websites/production/camel/content/camel-2170-release.html Thu Jan 21 
08:33:33 2016
@@ -85,7 +85,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 
id="Camel2.17.0Release-Camel2.17.0release(currentlyinprogress)">Camel 2.17.0 
release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><span 
class="confluence-embedded-file-wrapper"><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";></span></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.17.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the x.y.z release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li>The component documentation generated from 
the source code has been double checked to be up to date and include all the 
options the endpoints supports.</li><li>Upgraded camel-hbase to Hadoop 2.x and 
HBase 1.1.x</li><li><a shape="rect" href="tools.html"
 >Camel commands</a> for&#160;<a shape="rect" href="spring-boot.html">Spring 
 >Boot</a></li><li>Many improvements to&#160;Camel&#160;<a shape="rect" 
 >href="kura.html">Kura</a></li><li>Added transacted option to&#160;<a 
 >shape="rect" href="sql-component.html">SQL Component</a> when used as a 
 >consumer in a transacted route.</li><li>Added support for UPDATE operation 
 >to&#160;<a shape="rect" 
 >href="elasticsearch.html">ElasticSearch</a>.</li><li>Allow to reuse existing 
 >configured Elasticsearch Client on the <a shape="rect" 
 >href="elasticsearch.html">ElasticSearch</a> component, instead of creating a 
 >client per endpoint.&#160;</li><li>The&#160;<code>include</code> 
 >and&#160;<code>exclude</code> options on&#160;<a shape="rect" 
 >href="file2.html">File2</a> and&#160;<a shape="rect" href="ftp.html">FTP</a> 
 >endpoints is now case in-sensitive out of the box.</li><li>Resource based 
 >component such as&#160;<a shape="rect" href="xslt.html">XSLT</a>,&#160;<a 
 >shape="rect" href="velocity.html">Velocity</a>&#16
 0;etc can load the resource file from the&#160;<a shape="rect" 
href="registry.html">Registry</a>&#160;by using&#160;<code>ref:</code> as 
prefix.</li><li><span>Upgraded camel-amqp to the latest qpid-jms-client (also 
AMQP &lt; 1.0 is not supported anymore).</span></li><li><span>Many improvements 
to Camel <a shape="rect" href="amqp.html">AMQP</a> 
component.</span></li><li><span>The&#160;<a shape="rect" 
href="metrics-component.html">Metrics Component</a> allows to capture&#160;<a 
shape="rect" href="message-history.html">Message History</a> performance 
statistics with 
the&#160;<code>MetricsMessageHistoryFactory&#160;</code></span></li><li>Reduced 
the number of mbeans enlisted in the services tree, to only include mbeans that 
has value to be managed.</li><li>The&#160;<a shape="rect" 
href="elasticsearch.html">Elasticsearch Component</a>&#160;now supports 
MultiGet operation</li><li>The&#160;<a shape="rect" 
href="throttler.html">Throttler</a> has been improved to be more performant and 
use a
  rolling window for time periods which gives a better 
flow.</li><li>The&#160;<code>setHeader</code> 
and&#160;<code>setExchangeProperty</code> allows to use a dynamic header key 
using the&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language if 
the name of the key is a&#160;<a shape="rect" 
href="simple.html">Simple</a>&#160;language expression.</li><li>Add collate 
function to&#160;<a shape="rect" href="simple.html">Simple</a> language to make 
it easier to split a message body into sub lists of a specified size. The 
function is similar to the collate function from Groovy.</li><li>The&#160;<a 
shape="rect" href="camel-run-maven-goal.html">Camel Run Maven Goal</a> is able 
to auto detect if its a OSGi Blueprint or CDI project so end users no longer 
have to explicit configure this on the plugin.</li><li><a shape="rect" 
href="elasticsearch.html">Camel-Elasticsearch</a> now supports Multiget, 
Multisearch and exists operation</li><li><a shape="rect" 
href="git.html">Camel-Git</a> no
 w supports Cherry-pick operation</li><li>Stopping the&#160;<code>Main</code> 
class from JMX will now trigger shutdown of the Main class/JVM also, as it does 
when hitting ctrl + c.</li><li>Added option to skipFirst to the&#160;<a 
shape="rect" href="tokenizer.html">Tokenizer</a> language to make it easy to 
skip the very first element, when for example splitting a CSV file using 
the&#160;<a shape="rect" href="splitter.html">Splitter</a> 
EIP.</li></ul><p>Fixed these issues</p><ul><li>The&#160;<a shape="rect" 
href="swagger-java.html">Swagger Java</a> now parses nested types in the POJO 
model that has been annotated with the swagger api annotations to use in the 
schema api model</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest 
DSL</a> with&#160;apiContextPath fail to start if there are 2 ore more rest's 
in use.</li><li>Paho component name is not limited to 4 characters 
anymore.</li><li>Fixed&#160;<a shape="rect" href="spring-boot.html">Spring 
Boot</a> not starting Camel routes
  if running in Spring Cloud.</li><li>Fixed an issue with&#160;<a shape="rect" 
href="swagger-java.html">Swagger Java</a> using api-docs could lead to api-doc 
route being added multiple times</li><li>Fixed a few things missing in the 
generated swagger model when using&#160;<a shape="rect" 
href="swagger-java.html">Swagger Java</a></li><li>Fixed 
using&#160;<code>statement.xxx</code> options on the&#160;<a shape="rect" 
href="jdbc.html">JDBC</a> consumer would only be used in first 
poll.</li><li>Fixed &#160;<a shape="rect" 
href="http.html">HTTP</a>&#160;and&#160;<a shape="rect" 
href="http4.html">HTTP4</a>&#160;to keep trailing slash if provided in uri when 
calling remote HTTP service.</li><li>Fixed&#160;<a shape="rect" 
href="oncompletion.html">OnCompletion</a> to keep any caught exception stored 
as property on the&#160;<code>Exchange</code> which allows to access that 
information to know if there was an exception during routing.</li><li>Fixed an 
issue with&#160;<a shape="rect" href="bean.
 html">Bean</a> component or&#160;<a shape="rect" href="simple.html">Simple</a> 
language with OGNL method call, would pick method with java.lang.Object type 
over a better suited method, when the method is 
overloaded.</li><li>Fixed&#160;<a shape="rect" 
href="idempotent-consumer.html">Idempotent Consumer</a> would not propagate 
exception thrown from&#160;<code>IdempotentRepository</code> to Camel's&#160;<a 
shape="rect" href="error-handler.html">Error Handler</a> such 
as&#160;<code>onException</code><code><br clear="none"></code></li></ul><h3 
id="Camel2.17.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.17.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li>camel-kubernetes - Integrates 
Camel with Kubernetes</li><li>camel-aws - AWS kinesis streams component 
added</li><li>camel-aws - DynamoDB streams component added</li><li><a 
shape="rect" href="ignite.html">camel-ignite
 </a> - for working with Apache Ignite.</li><li>camel-mllp -&#160;<span 
style="color: rgb(0,0,0);">for working with the HL7 MLLP protocol. This is an 
alternative to&#160;<a shape="rect" href="hl7.html">HL7</a> 
component.</span></li><li>camel-spark - bridges Apache Spark computations with 
Camel endpoints</li><li>camel-sql - Now supports calling stored procedures 
using the new sql-stored component.</li><li>camel-braintree - for interacting 
with Braintree Payments.</li></ul><h3 id="Camel2.17.0Release-NewDSL">New 
DSL</h3><h3 id="Camel2.17.0Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.17.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" 
href="mime-multipart.html">MIME-Multipart</a> - mime based data 
format.</li></ul><h3 id="Camel2.17.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.17.0Release-New.3">New 
<a shape="rect" href="examples.html">Examples</a></h3><ul><li>camel
 -example-spring-boot-metrics - showing a Camel spring-boot application that 
report metrics to Graphite. Requires Graphite running on your 
network.</li><li>camel-example-widget-gadget-cdi - The Widget and Gadget 
use-case from the EIP book implemented in Java with CDI dependency 
Injection.</li><li>camel-example-widget-gadget-java - The Widget and Gadget 
use-case from the EIP book implemented in plain old Java Main without any kind 
of <em>application server</em>.</li><li>camel-example-widget-gadget-xml - The 
Widget and Gadget use-case from the EIP book implemented in Spring XML without 
any Java code or any kind of&#160;<em>application server</em>.</li></ul><h3 
id="Camel2.17.0Release-New.4">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.17.0Release-APIbreaking">API breaking</h2><h2 
id="Camel2.17.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.17.0Release-Dependencyupgrades">Dependency 
upgrades</h2><ul><li>Apache Cassandra from 2.1.8 to 2.2.2</li><li>Apa
 che Deltaspike from 1.5.1 to 1.5.2</li><li>Apache Gora from 0.6 to 
0.6.1</li><li>Apache Jackrabbit from 2.11.0 to 2.11.3</li><li>Apache Kafka from 
0.8.2.2 to 0.9.0.0</li><li>Apache Lucene from 4.10.4 to 5.2.1</li><li>Apache 
Mina from 2.0.9 to 2.0.10</li><li>Apache OpenEjb from 4.7.2 to 
4.7.3</li><li>Apache Solr from 4.10.4 to 5.2.1</li><li>Aws SDK Java to version 
1.10.37</li><li>Atmosphere from <span class="blob-code-inner">2.4.0</span> to 
2.4.1.4</li><li>Cassandra driver from 2.1.8 to 2.1.9</li><li>Cassandra-unit 
from 2.1.9.2 to 2.2.2.1</li><li>Cglib from 3.1 to 3.2.0</li><li>Classmate from 
1.3.0 to 1.3.1</li><li>Chunk from 3.0.1 to 3.1.2</li><li>Drools from 
6.2.0.Final to 6.3.0.Final</li><li>EHCache from 2.10.0 to 
2.10.1</li><li>Elasticsearch from 1.7.3 to 2.0.0</li><li>Embedded Mongodb from 
1.50.0 to 1.50.1</li><li>Facebook4j from 2.3.1 to 2.4.1</li><li>GAE from 1.9.26 
to 1.9.28</li><li>Google Gson from 2.4 to 2.5</li><li>Hazelcast from 3.5.2 to 
3.5.4</li><li>Infinispan from 8.0.
 1.Final to 8.1.0.Final</li><li>Jackson from 2.6.3 to 2.6.4</li><li>Jboss Xnio 
from 3.3.1.Final to 3.3.2.Final</li><li>Jboss Weld from 2.3.0.Final to 
2.3.2.Final</li><li>Jbpm from 6.2.0.Final to 6.3.0.Final</li><li>Jgit from 
<span class="blob-code-inner">4.1.<span class="x x-first 
x-last">0.201509280440</span>-r</span> to <span 
class="blob-code-inner">4.1.<span class="x x-first 
x-last">1.201511131810</span>-r</span></li><li>Joda-time from 2.8.2 to 
2.9.1</li><li>Json-path from 2.0.0 to 2.1.0</li><li>Jt400 from 8.6 to 
8.7</li><li>Kie from 6.2.0.Final to 6.3.0.Final</li><li>Maven Exec plugin from 
1.2.1 to 1.4.0</li><li>Mongodb Java driver from 3.0.4 to 3.2.0</li><li>Mvel 
from 2.2.6.Final to 2.2.7.Final</li><li>Ognl from 3.1 to 3.1.1</li><li>Olingo 
from 2.0.4 to 2.0.5</li><li>Optaplanner from 6.2.0.Final to 
6.3.0.Final</li><li>Pax-exam from 4.6.0 to 4.8.0</li><li>Spring 4.1.x to 
4.2.x</li><li>Spring-Boot 1.2.x to 1.3.x</li><li>Spring Integration 2.x to 
4.x</li><li>slf4j-api 1.6.x to 1.7.
 x</li><li>Undertow from 1.3.3.Final to 1.3.7.Final</li><li>Vertx from 3.1.0 to 
3.2.0</li><li>Zookeeper from 3.4.6 to 3.4.7</li></ul><h2 
id="Camel2.17.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Removed camel-hbase as Karaf 
feature as it did not really work well in OSGi</li><li>camel-infinispan 
requires Java 8.</li><li>Support for Spring 4.0.x is deprecated.</li><li>Moved 
some Camel tooling related dependencies (such as maven/plexus) from the Camel 
Parent BOM to the tooling BOM (to have them separated).</li><li>camel-amqp do 
not support 0.9 anymore.&#160;</li><li>camel-spring-integration feature has 
been removed from the Camel karaf.</li><li>The&#160;<a shape="rect" 
href="mail.html">Mail</a> component now requires to configure to, cc, and bcc 
using lower case keys, eg to=f...@bar.com, instead of&#160;<a shape="rect" 
class="external-link" href="mailto:To=f...@bar.com"; 
rel="nofollow">To=f...@bar.com</a>&#160;as previously.</li
 ><li>If using&#160;<a shape="rect" href="bean.html">Bean</a>&#160;or&#160;<a 
 >shape="rect" href="class.html">Class</a>&#160;component and specifying 
 >additional parameters in the endpoint uri to configure on the bean, then 
 >these options should now be prefixed with bean., eg 
 ><code>foo=123</code>&#160;is now 
 ><code>bean.foo=123</code>.</li><li>The&#160;<a shape="rect" 
 >href="hbase.html">hbase</a> component now require row mapping from the 
 >endpoint uri to be prefixed with <code>row.</code>&#160;as prefix.<br 
 >clear="none">Before: 
 ><code>family=info&amp;qualifier=firstName&amp;family2=birthdate&amp;qualifier2=year</code>.&#160;After:&#160;<code>row.family=info&amp;row.qualifier=firstName&amp;row.family2=birthdate&amp;row.qualifier2=year</code>.</li></ul><h2
 > id="Camel2.17.0Release-GettingtheDistributions">Getting the 
 >Distributions</h2><h3 id="Camel2.17.0Release-BinaryDistributions">Binary 
 >Distributions</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspa
 n="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/x.y.x/apache-camel-x.y.x.zip";>apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.zip.asc";>apache-camel-x.y.x.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/x.y.x/ap
 ache-camel-x.y.x.tar.gz">apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz.asc";>apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div
 class="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>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 shape="rect" class="external-link" 
href="http://www.mozilla.com/en-US/firefox/"; 
rel="nofollow">FireFox</a></p></div></div><h3 id
 ="Camel2.17.0Release-SourceDistributions">Source 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>Source for Windows</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/x.y.x/apache-camel-x.y.x-src.zip";>apache-camel-x.y.x-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/x.y.x/apache-camel-x.y.x-src.zip.asc";>apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><div
 class="table-wrap"><table class="confluenceTable"><tbody><t
 r><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for 
Unix/Linux/Cygwin</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/x.y.x/apache-camel-x.y.x-src.tar.gz";>apache-camel-x.y.x-src.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/x.y.x/apache-camel-x.y.x-src.tar.gz.asc";>apache-camel-x.y.x-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.17.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="code panel pdl" style="border-width: 1px;"><div 
class="codeCo
 ntent panelContent pdl">
+<div class="wiki-content maincontent"><h1 
id="Camel2.17.0Release-Camel2.17.0release(currentlyinprogress)">Camel 2.17.0 
release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><span 
class="confluence-embedded-file-wrapper"><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";></span></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.17.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the x.y.z release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li>The component documentation generated from 
the source code has been double checked to be up to date and include all the 
options the endpoints supports.</li><li>Upgraded camel-hbase to Hadoop 2.x and 
HBase 1.1.x</li><li><a shape="rect" href="tools.html"
 >Camel commands</a> for&#160;<a shape="rect" href="spring-boot.html">Spring 
 >Boot</a></li><li>Many improvements to&#160;Camel&#160;<a shape="rect" 
 >href="kura.html">Kura</a></li><li>Added transacted option to&#160;<a 
 >shape="rect" href="sql-component.html">SQL Component</a> when used as a 
 >consumer in a transacted route.</li><li>Added support for UPDATE operation 
 >to&#160;<a shape="rect" 
 >href="elasticsearch.html">ElasticSearch</a>.</li><li>Allow to reuse existing 
 >configured Elasticsearch Client on the <a shape="rect" 
 >href="elasticsearch.html">ElasticSearch</a> component, instead of creating a 
 >client per endpoint.&#160;</li><li>The&#160;<code>include</code> 
 >and&#160;<code>exclude</code> options on&#160;<a shape="rect" 
 >href="file2.html">File2</a> and&#160;<a shape="rect" href="ftp.html">FTP</a> 
 >endpoints is now case in-sensitive out of the box.</li><li>Resource based 
 >component such as&#160;<a shape="rect" href="xslt.html">XSLT</a>,&#160;<a 
 >shape="rect" href="velocity.html">Velocity</a>&#16
 0;etc can load the resource file from the&#160;<a shape="rect" 
href="registry.html">Registry</a>&#160;by using&#160;<code>ref:</code> as 
prefix.</li><li><span>Upgraded camel-amqp to the latest qpid-jms-client (also 
AMQP &lt; 1.0 is not supported anymore).</span></li><li><span>Many improvements 
to Camel <a shape="rect" href="amqp.html">AMQP</a> 
component.</span></li><li><span>The&#160;<a shape="rect" 
href="metrics-component.html">Metrics Component</a> allows to capture&#160;<a 
shape="rect" href="message-history.html">Message History</a> performance 
statistics with 
the&#160;<code>MetricsMessageHistoryFactory&#160;</code></span></li><li>Reduced 
the number of mbeans enlisted in the services tree, to only include mbeans that 
has value to be managed.</li><li>The&#160;<a shape="rect" 
href="elasticsearch.html">Elasticsearch Component</a>&#160;now supports 
MultiGet operation</li><li>The&#160;<a shape="rect" 
href="throttler.html">Throttler</a> has been improved to be more performant and 
use a
  rolling window for time periods which gives a better 
flow.</li><li>The&#160;<code>setHeader</code> 
and&#160;<code>setExchangeProperty</code> allows to use a dynamic header key 
using the&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language if 
the name of the key is a&#160;<a shape="rect" 
href="simple.html">Simple</a>&#160;language expression.</li><li>Add collate 
function to&#160;<a shape="rect" href="simple.html">Simple</a> language to make 
it easier to split a message body into sub lists of a specified size. The 
function is similar to the collate function from Groovy.</li><li>The&#160;<a 
shape="rect" href="camel-run-maven-goal.html">Camel Run Maven Goal</a> is able 
to auto detect if its a OSGi Blueprint or CDI project so end users no longer 
have to explicit configure this on the plugin.</li><li><a shape="rect" 
href="elasticsearch.html">Camel-Elasticsearch</a> now supports Multiget, 
Multisearch and exists operation</li><li><a shape="rect" 
href="git.html">Camel-Git</a> no
 w supports Cherry-pick operation</li><li>Stopping the&#160;<code>Main</code> 
class from JMX will now trigger shutdown of the Main class/JVM also, as it does 
when hitting ctrl + c.</li><li>Added option to skipFirst to the&#160;<a 
shape="rect" href="tokenizer.html">Tokenizer</a> language to make it easy to 
skip the very first element, when for example splitting a CSV file using 
the&#160;<a shape="rect" href="splitter.html">Splitter</a> 
EIP.</li></ul><p>Fixed these issues</p><ul><li>The&#160;<a shape="rect" 
href="swagger-java.html">Swagger Java</a> now parses nested types in the POJO 
model that has been annotated with the swagger api annotations to use in the 
schema api model</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest 
DSL</a> with&#160;apiContextPath fail to start if there are 2 ore more rest's 
in use.</li><li>Paho component name is not limited to 4 characters 
anymore.</li><li>Fixed&#160;<a shape="rect" href="spring-boot.html">Spring 
Boot</a> not starting Camel routes
  if running in Spring Cloud.</li><li>Fixed an issue with&#160;<a shape="rect" 
href="swagger-java.html">Swagger Java</a> using api-docs could lead to api-doc 
route being added multiple times</li><li>Fixed a few things missing in the 
generated swagger model when using&#160;<a shape="rect" 
href="swagger-java.html">Swagger Java</a></li><li>Fixed 
using&#160;<code>statement.xxx</code> options on the&#160;<a shape="rect" 
href="jdbc.html">JDBC</a> consumer would only be used in first 
poll.</li><li>Fixed &#160;<a shape="rect" 
href="http.html">HTTP</a>&#160;and&#160;<a shape="rect" 
href="http4.html">HTTP4</a>&#160;to keep trailing slash if provided in uri when 
calling remote HTTP service.</li><li>Fixed&#160;<a shape="rect" 
href="oncompletion.html">OnCompletion</a> to keep any caught exception stored 
as property on the&#160;<code>Exchange</code> which allows to access that 
information to know if there was an exception during routing.</li><li>Fixed an 
issue with&#160;<a shape="rect" href="bean.
 html">Bean</a> component or&#160;<a shape="rect" href="simple.html">Simple</a> 
language with OGNL method call, would pick method with java.lang.Object type 
over a better suited method, when the method is 
overloaded.</li><li>Fixed&#160;<a shape="rect" 
href="idempotent-consumer.html">Idempotent Consumer</a> would not propagate 
exception thrown from&#160;<code>IdempotentRepository</code> to Camel's&#160;<a 
shape="rect" href="error-handler.html">Error Handler</a> such 
as&#160;<code>onException</code><code><br clear="none"></code></li></ul><h3 
id="Camel2.17.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.17.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li>camel-kubernetes - Integrates 
Camel with Kubernetes</li><li>camel-aws - AWS kinesis streams component 
added</li><li>camel-aws - DynamoDB streams component added</li><li><a 
shape="rect" href="ignite.html">camel-ignite
 </a> - for working with Apache Ignite.</li><li>camel-mllp -&#160;<span 
style="color: rgb(0,0,0);">for working with the HL7 MLLP protocol. This is an 
alternative to&#160;<a shape="rect" href="hl7.html">HL7</a> 
component.</span></li><li>camel-spark - bridges Apache Spark computations with 
Camel endpoints</li><li>camel-sql - Now supports calling stored procedures 
using the new sql-stored component.</li><li>camel-braintree - for interacting 
with Braintree Payments.</li></ul><h3 id="Camel2.17.0Release-NewDSL">New 
DSL</h3><h3 id="Camel2.17.0Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.17.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" 
href="mime-multipart.html">MIME-Multipart</a> - mime based data 
format.</li></ul><h3 id="Camel2.17.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.17.0Release-New.3">New 
<a shape="rect" href="examples.html">Examples</a></h3><ul><li>camel
 -example-metrics-cdi - this example illustrates the integration between Camel, 
Dropwizard Metrics and CDI&#160;</li><li>camel-example-spring-boot-metrics - 
showing a Camel spring-boot application that report metrics to Graphite. 
Requires Graphite running on your 
network.</li><li>camel-example-widget-gadget-cdi - The Widget and Gadget 
use-case from the EIP book implemented in Java with CDI dependency 
Injection.</li><li>camel-example-widget-gadget-java - The Widget and Gadget 
use-case from the EIP book implemented in plain old Java Main without any kind 
of <em>application server</em>.</li><li>camel-example-widget-gadget-xml - The 
Widget and Gadget use-case from the EIP book implemented in Spring XML without 
any Java code or any kind of&#160;<em>application server</em>.</li></ul><h3 
id="Camel2.17.0Release-New.4">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.17.0Release-APIbreaking">API breaking</h2><h2 
id="Camel2.17.0Release-KnownIssues">Known Issues</h2><h
 2 id="Camel2.17.0Release-Dependencyupgrades">Dependency 
upgrades</h2><ul><li>Apache Cassandra from 2.1.8 to 2.2.2</li><li>Apache 
Deltaspike from 1.5.1 to 1.5.2</li><li>Apache Gora from 0.6 to 
0.6.1</li><li>Apache Jackrabbit from 2.11.0 to 2.11.3</li><li>Apache Kafka from 
0.8.2.2 to 0.9.0.0</li><li>Apache Lucene from 4.10.4 to 5.2.1</li><li>Apache 
Mina from 2.0.9 to 2.0.10</li><li>Apache OpenEjb from 4.7.2 to 
4.7.3</li><li>Apache Solr from 4.10.4 to 5.2.1</li><li>Aws SDK Java to version 
1.10.37</li><li>Atmosphere from <span class="blob-code-inner">2.4.0</span> to 
2.4.1.4</li><li>Cassandra driver from 2.1.8 to 2.1.9</li><li>Cassandra-unit 
from 2.1.9.2 to 2.2.2.1</li><li>Cglib from 3.1 to 3.2.0</li><li>Classmate from 
1.3.0 to 1.3.1</li><li>Chunk from 3.0.1 to 3.1.2</li><li>Drools from 
6.2.0.Final to 6.3.0.Final</li><li>EHCache from 2.10.0 to 
2.10.1</li><li>Elasticsearch from 1.7.3 to 2.0.0</li><li>Embedded Mongodb from 
1.50.0 to 1.50.1</li><li>Facebook4j from 2.3.1 to 2.4.1</li><li>GAE
  from 1.9.26 to 1.9.28</li><li>Google Gson from 2.4 to 2.5</li><li>Hazelcast 
from 3.5.2 to 3.5.4</li><li>Infinispan from 8.0.1.Final to 
8.1.0.Final</li><li>Jackson from 2.6.3 to 2.6.4</li><li>Jboss Xnio from 
3.3.1.Final to 3.3.2.Final</li><li>Jboss Weld from 2.3.0.Final to 
2.3.2.Final</li><li>Jbpm from 6.2.0.Final to 6.3.0.Final</li><li>Jgit from 
<span class="blob-code-inner">4.1.<span class="x x-first 
x-last">0.201509280440</span>-r</span> to <span 
class="blob-code-inner">4.1.<span class="x x-first 
x-last">1.201511131810</span>-r</span></li><li>Joda-time from 2.8.2 to 
2.9.1</li><li>Json-path from 2.0.0 to 2.1.0</li><li>Jt400 from 8.6 to 
8.7</li><li>Kie from 6.2.0.Final to 6.3.0.Final</li><li>Maven Exec plugin from 
1.2.1 to 1.4.0</li><li>Mongodb Java driver from 3.0.4 to 3.2.0</li><li>Mvel 
from 2.2.6.Final to 2.2.7.Final</li><li>Ognl from 3.1 to 3.1.1</li><li>Olingo 
from 2.0.4 to 2.0.5</li><li>Optaplanner from 6.2.0.Final to 
6.3.0.Final</li><li>Pax-exam from 4.6.0 to 4.8.0</li><li>S
 pring 4.1.x to 4.2.x</li><li>Spring-Boot 1.2.x to 1.3.x</li><li>Spring 
Integration 2.x to 4.x</li><li>slf4j-api 1.6.x to 1.7.x</li><li>Undertow from 
1.3.3.Final to 1.3.7.Final</li><li>Vertx from 3.1.0 to 3.2.0</li><li>Zookeeper 
from 3.4.6 to 3.4.7</li></ul><h2 
id="Camel2.17.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Removed camel-hbase as Karaf 
feature as it did not really work well in OSGi</li><li>camel-infinispan 
requires Java 8.</li><li>Support for Spring 4.0.x is deprecated.</li><li>Moved 
some Camel tooling related dependencies (such as maven/plexus) from the Camel 
Parent BOM to the tooling BOM (to have them separated).</li><li>camel-amqp do 
not support 0.9 anymore.&#160;</li><li>camel-spring-integration feature has 
been removed from the Camel karaf.</li><li>The&#160;<a shape="rect" 
href="mail.html">Mail</a> component now requires to configure to, cc, and bcc 
using lower case keys, eg to=f...@bar.com, instead of&#160
 ;<a shape="rect" class="external-link" href="mailto:To=f...@bar.com"; 
rel="nofollow">To=f...@bar.com</a>&#160;as previously.</li><li>The&#160;<a 
shape="rect" href="file2.html">File</a>&#160;consumer no longer probe the file 
content by default. See the option&#160;<code>probeContentType</code> for more 
details.</li><li>If using&#160;<a shape="rect" 
href="bean.html">Bean</a>&#160;or&#160;<a shape="rect" 
href="class.html">Class</a>&#160;component and specifying additional parameters 
in the endpoint uri to configure on the bean, then these options should now be 
prefixed with bean., eg <code>foo=123</code>&#160;is now 
<code>bean.foo=123</code>.</li><li>The&#160;<a shape="rect" 
href="hbase.html">hbase</a> component now require row mapping from the endpoint 
uri to be prefixed with <code>row.</code>&#160;as prefix.<br 
clear="none">Before: 
<code>family=info&amp;qualifier=firstName&amp;family2=birthdate&amp;qualifier2=year</code>.&#160;After:&#160;<code>row.family=info&amp;row.qualifier=firstNam
 e&amp;row.family2=birthdate&amp;row.qualifier2=year</code>.</li></ul><h2 
id="Camel2.17.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.17.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/x.y.x/apache-camel-x.y.x.zip";>apache-camel-x.y.x.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/x.y.x/apache-camel-x.
 y.x.zip.asc">apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz";>apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz.asc";>apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div
 class="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The above URLs use the Apache 
Mirror system to redirect you to a suitable mirror for your dow
 nload. 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 shape="rect" class="external-link" 
href="http://www.mozilla.com/en-US/firefox/"; 
rel="nofollow">FireFox</a></p></div></div><h3 
id="Camel2.17.0Release-SourceDistributions">Source 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>Source for Windows</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/x.y.x/apache-camel-x.y.x-src.zip";>apache-camel-x.y.x-src.zip</a></p></td><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc";>apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><div
 class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Source for Unix/Linux/Cygwin</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/x.y.x/apache-camel-x.y.x-src.tar.gz";>apache-camel-x.y.x-src.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/x.y.x/apache-camel-x.y.x-src.tar.gz.asc";>apache-camel-x.y.x-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.17.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="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
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/commercial-camel-offerings.html
==============================================================================
--- websites/production/camel/content/commercial-camel-offerings.html (original)
+++ websites/production/camel/content/commercial-camel-offerings.html Thu Jan 
21 08:33:33 2016
@@ -75,7 +75,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 
id="CommercialCamelOfferings-CommercialCamelOfferings">Commercial Camel 
Offerings</h1><p>Apache Camel is a widely used project. As such, several 
companies have built products and services around Camel. This page is dedicated 
to providing descriptions of those offerings and links to more information. 
Companies are definitely encouraged to update this page directly or <a 
shape="rect" href="mailing-lists.html">send a mail</a> to the Camel PMC with a 
description of your offerings and we can update the page. The products and 
services listed on this page are provided for information use only to our 
users. The Camel PMC does not endorse or recommend any of the products or 
services on this page. See below for information about what is appropriate to 
add to the page.</p><h3 id="CommercialCamelOfferings-Ameliant"><a shape="rect" 
class="external-link" href="http://ameliant.com"; 
rel="nofollow">Ameliant</a></h3><p><a shape="rect" class="external-link" hr
 ef="http://ameliant.com"; rel="nofollow">Ameliant</a> is a specialist 
consultancy based in London, UK that provides architectural consulting around 
the Apache integration stack (Camel, CXF, Servicemix, ActiveMQ) including the 
development of prototypes and troubleshooting of existing Camel applications; 
and code-intensive Camel training. Ameliant's principal consultant is co-author 
of the <a shape="rect" class="external-link" 
href="http://www.packtpub.com/apache-camel-developers-cookbook/book"; 
rel="nofollow">Apache Camel Developer's Cookbook</a>.</p><h3 
id="CommercialCamelOfferings-Code-House"><a shape="rect" class="external-link" 
href="http://code-house.org"; rel="nofollow">Code-House</a></h3><p><a 
shape="rect" class="external-link" href="http://code-house.org"; 
rel="nofollow">Code-House</a> is european service provider with own training 
programs covering Apache middleware projects (Camel, ServiceMix, ActiveMQ) on 
development and system operations level. We also offer dedicated managem
 ent tool.</p><h3 id="CommercialCamelOfferings-CyberlogicConsulting"><a 
shape="rect" class="external-link" href="http://www.cyberlogic.ch"; 
rel="nofollow">Cyberlogic Consulting</a></h3><p><a shape="rect" 
class="external-link" href="http://www.cyberlogic.ch"; rel="nofollow">Cyberlogic 
Consulting</a>&#160;is a Swiss based consultancy. We pride ourselves in 
providing Swiss quality services including enterprise consulting, coding, 
systems integration, training and support for Apache Camel and the related 
Apache Open Source Software. We specialize in helping our clients to realize 
new projects and support the delivery of the project from end to end.</p><h3 
id="CommercialCamelOfferings-Middleware360"><a shape="rect" 
class="external-link" href="http://www.middleware360.com/"; 
rel="nofollow">Middleware360</a></h3><p><a shape="rect" class="external-link" 
href="http://www.middleware360.com/"; rel="nofollow">Middleware360</a> 
Enterprise Integration consulting services</p><h3 id="CommercialCamelOffe
 rings-OpenLogic"><a shape="rect" class="external-link" 
href="http://www.openlogic.com/"; rel="nofollow">OpenLogic</a></h3><p><a 
shape="rect" class="external-link" href="http://www.openlogic.com/"; 
rel="nofollow">OpenLogic</a> provide support</p><h3 
id="CommercialCamelOfferings-RedHat"><a shape="rect" class="external-link" 
href="http://www.redhat.com/products/jbossenterprisemiddleware/fusesource/"; 
rel="nofollow">Red Hat</a></h3><p><a shape="rect" class="external-link" 
href="http://www.redhat.com/products/jbossenterprisemiddleware/fusesource/"; 
rel="nofollow">Red Hat</a> provides enterprise integration products like <a 
shape="rect" class="external-link" 
href="http://www.redhat.com/en/technologies/jboss-middleware/fuse"; 
rel="nofollow">JBoss Fuse</a> that include enterprise developer and production 
support on Apache Camel, and other Apache open source integration projects - 
including <a shape="rect" class="external-link" 
href="http://www.redhat.com/products/jbossenterprisemiddleware/fuseso
 urce/" rel="nofollow">training, packaged services and subscriptions</a>, and 
<a shape="rect" class="external-link" 
href="http://tools.jboss.org/features/apachecamel.html"; rel="nofollow">Apache 
Camel tooling for Eclipse</a>.</p><h3 
id="CommercialCamelOfferings-SavoirTechnologies,Inc"><a shape="rect" 
class="external-link" href="http://www.savoirtech.com"; rel="nofollow">Savoir 
Technologies, Inc</a></h3><p><a shape="rect" class="external-link" 
href="http://www.savoirtech.com"; rel="nofollow">Savoir Technologies, Inc</a> 
provides enterprise consulting, training and support for Camel and a host of 
other Apache service containers. Savoir can provide best practice mentoring for 
developing with Camel, as well as architectural/design reviews, troubleshooting 
and SOA infrastructure implementations.</p><h3 
id="CommercialCamelOfferings-Talend,Inc"><a shape="rect" class="external-link" 
href="http://www.talend.com"; rel="nofollow">Talend, Inc</a></h3><p><a 
shape="rect" class="external-link" href="ht
 tp://www.talend.com" rel="nofollow">Talend, Inc</a> provides enterprise level 
services, training and support for Apache Camel and their <a shape="rect" 
class="external-link" 
href="http://www.talend.com/products/esb-standard-edition.php"; 
rel="nofollow">Talend ESB</a> product which is a repackaging of Apache Camel 
including a full, pre-configured OSGi runtime container.</p><h3 
id="CommercialCamelOfferings-TouK"><a shape="rect" class="external-link" 
href="http://touk.pl"; rel="nofollow">TouK </a></h3><p><a shape="rect" 
class="external-link" href="http://touk.pl"; rel="nofollow">TouK </a> provides 
enterprise integration consulting and system integration services as well as 
support for Apache Camel and Apache Servicemix. Their developers were involved 
in camel-activiti development.</p><h2 
id="CommercialCamelOfferings-Policyforadditionstothispage">Policy for additions 
to this page</h2><p>Companies are free to add information about their products 
and services to this page (please keep entrie
 s in alphabetical order). The information must be factual and informational in 
nature and not be a marketing statement. Statements that promote your products 
and services over other offerings on the page will not be tolerated and will be 
removed. Such marketing statements can be added to your own pages on your own 
site, but not here.</p><p>When in doubt, email the Camel dev list (see <a 
shape="rect" href="mailing-lists.html">Mailing Lists</a>) and ask. We'd be 
happy to help.</p></div>
+<div class="wiki-content maincontent"><h1 
id="CommercialCamelOfferings-CommercialCamelOfferings">Commercial Camel 
Offerings</h1><p>Apache Camel is a widely used project. As such, several 
companies have built products and services around Camel. This page is dedicated 
to providing descriptions of those offerings and links to more information. 
Companies are definitely encouraged to update this page directly or <a 
shape="rect" href="mailing-lists.html">send a mail</a> to the Camel PMC with a 
description of your offerings and we can update the page. The products and 
services listed on this page are provided for information use only to our 
users. The Camel PMC does not endorse or recommend any of the products or 
services on this page. See below for information about what is appropriate to 
add to the page.</p><h3 id="CommercialCamelOfferings-Ameliant"><a shape="rect" 
class="external-link" href="http://ameliant.com"; 
rel="nofollow">Ameliant</a></h3><p><a shape="rect" class="external-link" hr
 ef="http://ameliant.com"; rel="nofollow">Ameliant</a> is a specialist 
consultancy based in London, UK that provides architectural consulting around 
the Apache integration stack (Camel, CXF, Servicemix, ActiveMQ) including the 
development of prototypes and troubleshooting of existing Camel applications; 
and code-intensive Camel training. Ameliant's principal consultant is co-author 
of the <a shape="rect" class="external-link" 
href="http://www.packtpub.com/apache-camel-developers-cookbook/book"; 
rel="nofollow">Apache Camel Developer's Cookbook</a>.</p><h3 
id="CommercialCamelOfferings-Code-House"><a shape="rect" class="external-link" 
href="http://code-house.org"; rel="nofollow">Code-House</a></h3><p><a 
shape="rect" class="external-link" href="http://code-house.org"; 
rel="nofollow">Code-House</a> is european service provider with own training 
programs covering Apache middleware projects (Camel, ServiceMix, ActiveMQ) on 
development and system operations level. We also offer dedicated managem
 ent tool.</p><h3 id="CommercialCamelOfferings-CyberlogicConsulting"><a 
shape="rect" class="external-link" href="http://www.cyberlogic.ch"; 
rel="nofollow">Cyberlogic Consulting</a></h3><p><a shape="rect" 
class="external-link" href="http://www.cyberlogic.ch"; rel="nofollow">Cyberlogic 
Consulting</a>&#160;is a Swiss based consultancy. We pride ourselves in 
providing Swiss quality services including enterprise consulting, coding, 
systems integration, training and support for Apache Camel and the related 
Apache Open Source Software. We specialize in helping our clients to realize 
new projects and support the delivery of the project from end to end.</p><h3 
id="CommercialCamelOfferings-GOAPPO"><a shape="rect" class="external-link" 
href="https://www.goappo.com"; rel="nofollow">GOAPPO</a></h3><p><a shape="rect" 
class="external-link" href="https://www.goappo.com"; rel="nofollow">GOAPPO</a> 
embeds Apache Camel at design, testing and runtime. You start by composing ETLs 
using the application builde
 r. You&#160;test ETLs instantly on your machine. You bundle ETLs with your 
application.</p><h3 id="CommercialCamelOfferings-Middleware360"><a shape="rect" 
class="external-link" href="http://www.middleware360.com/"; 
rel="nofollow">Middleware360</a></h3><p><a shape="rect" class="external-link" 
href="http://www.middleware360.com/"; rel="nofollow">Middleware360</a> 
Enterprise Integration consulting services</p><h3 
id="CommercialCamelOfferings-OpenLogic"><a shape="rect" class="external-link" 
href="http://www.openlogic.com/"; rel="nofollow">OpenLogic</a></h3><p><a 
shape="rect" class="external-link" href="http://www.openlogic.com/"; 
rel="nofollow">OpenLogic</a> provide support</p><h3 
id="CommercialCamelOfferings-RedHat"><a shape="rect" class="external-link" 
href="http://www.redhat.com/products/jbossenterprisemiddleware/fusesource/"; 
rel="nofollow">Red Hat</a></h3><p><a shape="rect" class="external-link" 
href="http://www.redhat.com/products/jbossenterprisemiddleware/fusesource/"; 
rel="nofollow">R
 ed Hat</a> provides enterprise integration products like <a shape="rect" 
class="external-link" 
href="http://www.redhat.com/en/technologies/jboss-middleware/fuse"; 
rel="nofollow">JBoss Fuse</a> that include enterprise developer and production 
support on Apache Camel, and other Apache open source integration projects - 
including <a shape="rect" class="external-link" 
href="http://www.redhat.com/products/jbossenterprisemiddleware/fusesource/"; 
rel="nofollow">training, packaged services and subscriptions</a>, and <a 
shape="rect" class="external-link" 
href="http://tools.jboss.org/features/apachecamel.html"; rel="nofollow">Apache 
Camel tooling for Eclipse</a>.</p><h3 
id="CommercialCamelOfferings-SavoirTechnologies,Inc"><a shape="rect" 
class="external-link" href="http://www.savoirtech.com"; rel="nofollow">Savoir 
Technologies, Inc</a></h3><p><a shape="rect" class="external-link" 
href="http://www.savoirtech.com"; rel="nofollow">Savoir Technologies, Inc</a> 
provides enterprise consulting, training 
 and support for Camel and a host of other Apache service containers. Savoir 
can provide best practice mentoring for developing with Camel, as well as 
architectural/design reviews, troubleshooting and SOA infrastructure 
implementations.</p><h3 id="CommercialCamelOfferings-Talend,Inc"><a 
shape="rect" class="external-link" href="http://www.talend.com"; 
rel="nofollow">Talend, Inc</a></h3><p><a shape="rect" class="external-link" 
href="http://www.talend.com"; rel="nofollow">Talend, Inc</a> provides enterprise 
level services, training and support for Apache Camel and their <a shape="rect" 
class="external-link" 
href="http://www.talend.com/products/esb-standard-edition.php"; 
rel="nofollow">Talend ESB</a> product which is a repackaging of Apache Camel 
including a full, pre-configured OSGi runtime container.</p><h3 
id="CommercialCamelOfferings-TouK"><a shape="rect" class="external-link" 
href="http://touk.pl"; rel="nofollow">TouK </a></h3><p><a shape="rect" 
class="external-link" href="http://touk.p
 l" rel="nofollow">TouK </a> provides enterprise integration consulting and 
system integration services as well as support for Apache Camel and Apache 
Servicemix. Their developers were involved in camel-activiti 
development.</p><h2 
id="CommercialCamelOfferings-Policyforadditionstothispage">Policy for additions 
to this page</h2><p>Companies are free to add information about their products 
and services to this page (please keep entries in alphabetical order). The 
information must be factual and informational in nature and not be a marketing 
statement. Statements that promote your products and services over other 
offerings on the page will not be tolerated and will be removed. Such marketing 
statements can be added to your own pages on your own site, but not 
here.</p><p>When in doubt, email the Camel dev list (see <a shape="rect" 
href="mailing-lists.html">Mailing Lists</a>) and ask. We'd be happy to 
help.</p></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/crypto-digital-signatures.html
==============================================================================
--- websites/production/camel/content/crypto-digital-signatures.html (original)
+++ websites/production/camel/content/crypto-digital-signatures.html Thu Jan 21 
08:33:33 2016
@@ -100,27 +100,27 @@ crypto:verify:name[?options]
 ]]></script>
 </div></div><ul><li><code>crypto:sign</code> creates the signature and stores 
it in the Header keyed by the constant 
<code>org.apache.camel.component.crypto.DigitalSignatureConstants.SIGNATURE</code>,
 i.e. <code>"CamelDigitalSignature"</code>.</li><li><code>crypto:verify</code> 
will read in the contents of this header and do the verification 
calculation.</li></ul><p>In order to correctly function, the sign and verify 
process needs a pair of keys to be shared, signing requiring a 
<code>PrivateKey</code> and verifying a <code>PublicKey</code> (or a 
<code>Certificate</code> containing one). Using the JCE it is very simple to 
generate these key pairs but it is usually most secure to use a KeyStore to 
house and share your keys. The DSL is very flexible about how keys are supplied 
and provides a number of mechanisms.</p><p>Note a <code>crypto:sign</code> 
endpoint is typically defined in one route and the complimentary 
<code>crypto:verify</code> in another, though for simplicity in the exa
 mples they appear one after the other. It goes without saying that both 
signing and verifying should be configured identically.</p><h3 
id="Crypto(DigitalSignatures)-Options">Options</h3><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>algorithm</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>SHA1WithDSA</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The name of the JCE Signature algorithm 
that will be used.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><cod
 e>alias</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>An alias name that will be used to select a key from 
the keystore.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>2048</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>the size of the buffer used in 
the signature process.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>certificate</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Certificate</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A Certificate 
 used to verify the signature of the exchange's payload. Either this or a 
Public Key is required.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>keystore</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>KeyStore</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A reference to a JCE Keystore 
that stores keys and certificates used to sign and verify.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">keyStoreParameters <strong>Camel 
2.14.1</strong></td><td colspan="1" rowspan="1" 
class="confluenceTd">KeyStoreParameters</td><td colspan="1" rowspan="1" 
class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd">A reference to a Camel KeyStoreParameters Object which 
wraps a Java KeyStore Object</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>provider</code></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The name of the JCE Security Provider that 
should be used.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>privateKey</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>PrivateKey</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The private key used to sign 
the exchange's payload.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>publicKey</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>PublicKey</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The public key used to verify 
the signature of the exchange's payload.
 </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>secureRandom</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>secureRandom</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A reference to a 
<code>SecureRandom</code> object that will be used to initialize the Signature 
service.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>password</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>char[]</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The password to access the private key from 
the keystore</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>clearHeaders</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan
 ="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Remove camel crypto headers from Message 
after a verify operation (value can be 
<code>"true"</code>/<code>"false"</code>).</p></td></tr></tbody></table></div></div><h3
 id="Crypto(DigitalSignatures)-Using">Using</h3><h4 
id="Crypto(DigitalSignatures)-1)Rawkeys">1) Raw keys</h4><p>The most basic way 
to way to sign and verify an exchange is with a KeyPair as follows.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:keypair&quot;).to(&quot;crypto:sign://basic?privateKey=#myPrivateKey&quot;,
 &quot;crypto:verify://basic?publicKey=#myPublicKey&quot;, 
&quot;mock:result&quot;);
+from(&quot;direct:keypair&quot;).to(&quot;crypto:sign:basic?privateKey=#myPrivateKey&quot;,
 &quot;crypto:verify:basic?publicKey=#myPublicKey&quot;, 
&quot;mock:result&quot;);
 ]]></script>
 </div></div>The same can be achieved with the <a shape="rect" 
href="spring-xml-extensions.html">Spring XML Extensions</a> using references to 
keys<div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:keypair&quot;/&gt;
-    &lt;to uri=&quot;crypto:sign://basic?privateKey=#myPrivateKey&quot; /&gt;
-    &lt;to uri=&quot;crypto:verify://basic?publicKey=#myPublicKey&quot; /&gt;
+    &lt;to uri=&quot;crypto:sign:basic?privateKey=#myPrivateKey&quot; /&gt;
+    &lt;to uri=&quot;crypto:verify:basic?publicKey=#myPublicKey&quot; /&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;
 ]]></script>
 </div></div><h4 id="Crypto(DigitalSignatures)-2)KeyStoresandAliases.">2) 
KeyStores and Aliases.</h4><p>The JCE provides a very versatile keystore 
concept for housing pairs of private keys and certificates, keeping them 
encrypted and password protected. They can be retrieved by applying an alias to 
the retrieval APIs. There are a number of ways to get keys and Certificates 
into a keystore, most often this is done with the external 'keytool' 
application. <a shape="rect" class="external-link" 
href="http://www.exampledepot.com/egs/java.security.cert/CreateCert.html"; 
rel="nofollow">This</a> is a good example of using keytool to create a KeyStore 
with a self signed Cert and Private key.</p><p>The examples use a Keystore with 
a key and cert aliased by 'bob'. The password for the keystore and the key is 
'letmein'</p><p>The following shows how to use a Keystore via the Fluent 
builders, it also shows how to load and initialize the keystore.</p><div 
class="code panel pdl" style="border-width: 
 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:keystore&quot;).to(&quot;crypto:sign://keystore?keystore=#keystore&amp;alias=bob&amp;password=letmein&quot;,
 &quot;crypto:verify://keystore?keystore=#keystore&amp;alias=bob&quot;, 
&quot;mock:result&quot;);
+from(&quot;direct:keystore&quot;).to(&quot;crypto:sign:keystore?keystore=#keystore&amp;alias=bob&amp;password=letmein&quot;,
 &quot;crypto:verify:keystore?keystore=#keystore&amp;alias=bob&quot;, 
&quot;mock:result&quot;);
 ]]></script>
 </div></div>Again in Spring a ref is used to lookup an actual keystore 
instance.<div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:keystore&quot;/&gt;
-    &lt;to 
uri=&quot;crypto:sign://keystore?keystore=#keystore&amp;amp;alias=bob&amp;amp;password=letmein&quot;
 /&gt;
-    &lt;to 
uri=&quot;crypto:verify://keystore?keystore=#keystore&amp;amp;alias=bob&quot; 
/&gt;
+    &lt;to 
uri=&quot;crypto:sign:keystore?keystore=#keystore&amp;amp;alias=bob&amp;amp;password=letmein&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:verify:keystore?keystore=#keystore&amp;amp;alias=bob&quot; 
/&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;        
 ]]></script>
@@ -131,20 +131,20 @@ PrivateKey privateKey = keyPair.getPriva
 PublicKey publicKey = keyPair.getPublic();
 
 // we can set the keys explicitly on the endpoint instances.
-context.getEndpoint(&quot;crypto:sign://rsa?algorithm=MD5withRSA&quot;, 
DigitalSignatureEndpoint.class).setPrivateKey(privateKey);
-context.getEndpoint(&quot;crypto:verify://rsa?algorithm=MD5withRSA&quot;, 
DigitalSignatureEndpoint.class).setPublicKey(publicKey);
-from(&quot;direct:algorithm&quot;).to(&quot;crypto:sign://rsa?algorithm=MD5withRSA&quot;,
 &quot;crypto:verify://rsa?algorithm=MD5withRSA&quot;, &quot;mock:result&quot;);
+context.getEndpoint(&quot;crypto:sign:rsa?algorithm=MD5withRSA&quot;, 
DigitalSignatureEndpoint.class).setPrivateKey(privateKey);
+context.getEndpoint(&quot;crypto:verify:rsa?algorithm=MD5withRSA&quot;, 
DigitalSignatureEndpoint.class).setPublicKey(publicKey);
+from(&quot;direct:algorithm&quot;).to(&quot;crypto:sign:rsa?algorithm=MD5withRSA&quot;,
 &quot;crypto:verify:rsa?algorithm=MD5withRSA&quot;, &quot;mock:result&quot;);
 ]]></script>
 </div></div><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:provider&quot;).to(&quot;crypto:sign://provider?privateKey=#myPrivateKey&amp;provider=SUN&quot;,
 &quot;crypto:verify://provider?publicKey=#myPublicKey&amp;provider=SUN&quot;, 
&quot;mock:result&quot;);
+from(&quot;direct:provider&quot;).to(&quot;crypto:sign:provider?privateKey=#myPrivateKey&amp;provider=SUN&quot;,
 &quot;crypto:verify:provider?publicKey=#myPublicKey&amp;provider=SUN&quot;, 
&quot;mock:result&quot;);
 ]]></script>
 </div></div>or<div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:algorithm&quot;/&gt;
-    &lt;to 
uri=&quot;crypto:sign://rsa?algorithm=MD5withRSA&amp;amp;privateKey=#rsaPrivateKey&quot;
 /&gt;
-    &lt;to 
uri=&quot;crypto:verify://rsa?algorithm=MD5withRSA&amp;amp;publicKey=#rsaPublicKey&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:sign:rsa?algorithm=MD5withRSA&amp;amp;privateKey=#rsaPrivateKey&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:verify:rsa?algorithm=MD5withRSA&amp;amp;publicKey=#rsaPublicKey&quot;
 /&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;        
 ]]></script>
@@ -152,69 +152,69 @@ from(&quot;direct:provider&quot;).to(&qu
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:provider&quot;/&gt;
-    &lt;to 
uri=&quot;crypto:sign://provider?privateKey=#myPrivateKey&amp;amp;provider=SUN&quot;
 /&gt;
-    &lt;to 
uri=&quot;crypto:verify://provider?publicKey=#myPublicKey&amp;amp;provider=SUN&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:sign:provider?privateKey=#myPrivateKey&amp;amp;provider=SUN&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:verify:provider?publicKey=#myPublicKey&amp;amp;provider=SUN&quot;
 /&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;        
 ]]></script>
 </div></div><h4 
id="Crypto(DigitalSignatures)-4)ChangingtheSignatureMessageHeader">4) Changing 
the Signature Message Header</h4><p>It may be desirable to change the message 
header used to store the signature. A different header name can be specified in 
the route definition as follows</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:signature-header&quot;).to(&quot;crypto:sign://another?privateKey=#myPrivateKey&amp;signatureHeader=AnotherDigitalSignature&quot;,
-                                   
&quot;crypto:verify://another?publicKey=#myPublicKey&amp;signatureHeader=AnotherDigitalSignature&quot;,
 &quot;mock:result&quot;);
+from(&quot;direct:signature-header&quot;).to(&quot;crypto:sign:another?privateKey=#myPrivateKey&amp;signatureHeader=AnotherDigitalSignature&quot;,
+                                   
&quot;crypto:verify:another?publicKey=#myPublicKey&amp;signatureHeader=AnotherDigitalSignature&quot;,
 &quot;mock:result&quot;);
 ]]></script>
 </div></div>or<div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:signature-header&quot;/&gt;
-    &lt;to 
uri=&quot;crypto:sign://another?privateKey=#myPrivateKey&amp;amp;signatureHeader=AnotherDigitalSignature&quot;
 /&gt;
-    &lt;to 
uri=&quot;crypto:verify://another?publicKey=#myPublicKey&amp;amp;signatureHeader=AnotherDigitalSignature&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:sign:another?privateKey=#myPrivateKey&amp;amp;signatureHeaderName=AnotherDigitalSignature&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:verify:another?publicKey=#myPublicKey&amp;amp;signatureHeaderName=AnotherDigitalSignature&quot;
 /&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;        
 ]]></script>
 </div></div><h4 id="Crypto(DigitalSignatures)-5)Changingthebuffersize">5) 
Changing the buffersize</h4><p>In case you need to update the size of the 
buffer...</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:buffersize&quot;).to(&quot;crypto:sign://buffer?privateKey=#myPrivateKey&amp;buffersize=1024&quot;,
 &quot;crypto:verify://buffer?publicKey=#myPublicKey&amp;buffersize=1024&quot;, 
&quot;mock:result&quot;);
+from(&quot;direct:buffersize&quot;).to(&quot;crypto:sign:buffer?privateKey=#myPrivateKey&amp;buffersize=1024&quot;,
 &quot;crypto:verify:buffer?publicKey=#myPublicKey&amp;buffersize=1024&quot;, 
&quot;mock:result&quot;);
 ]]></script>
 </div></div>or<div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:buffersize&quot; /&gt;
-    &lt;to 
uri=&quot;crypto:sign://buffer?privateKey=#myPrivateKey&amp;amp;buffersize=1024&quot;
 /&gt;
-    &lt;to 
uri=&quot;crypto:verify://buffer?publicKey=#myPublicKey&amp;amp;buffersize=1024&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:sign:buffer?privateKey=#myPrivateKey&amp;amp;bufferSize=1024&quot;
 /&gt;
+    &lt;to 
uri=&quot;crypto:verify:buffer?publicKey=#myPublicKey&amp;amp;bufferSize=1024&quot;
 /&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;        
 ]]></script>
 </div></div><h4 id="Crypto(DigitalSignatures)-6)SupplyingKeysdynamically.">6) 
Supplying Keys dynamically.</h4><p>When using a Recipient list or similar EIP 
the recipient of an exchange can vary dynamically. Using the same key across 
all recipients may be neither feasible nor desirable. It would be useful to be 
able to specify signature keys dynamically on a per-exchange basis. The 
exchange could then be dynamically enriched with the key of its target 
recipient prior to signing. To facilitate this the signature mechanisms allow 
for keys to be supplied dynamically via the message headers 
below</p><ul><li><code>Exchange.SIGNATURE_PRIVATE_KEY</code>, 
<code>"CamelSignaturePrivateKey"</code></li><li><code>Exchange.SIGNATURE_PUBLIC_KEY_OR_CERT</code>,
 <code>"CamelSignaturePublicKeyOrCert"</code></li></ul><p></p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:headerkey-sign&quot;).to(&quot;crypto:sign://alias&quot;);
-from(&quot;direct:headerkey-verify&quot;).to(&quot;crypto:verify://alias&quot;,
 &quot;mock:result&quot;);
+from(&quot;direct:headerkey-sign&quot;).to(&quot;crypto:sign:alias&quot;);
+from(&quot;direct:headerkey-verify&quot;).to(&quot;crypto:verify:alias&quot;, 
&quot;mock:result&quot;);
 ]]></script>
 </div></div>or<div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:headerkey-sign&quot;/&gt;
-    &lt;to uri=&quot;crypto:sign://headerkey&quot; /&gt;
+    &lt;to uri=&quot;crypto:sign:headerkey&quot; /&gt;
 &lt;/route&gt;       
 &lt;route&gt;
     &lt;from uri=&quot;direct:headerkey-verify&quot;/&gt;
-    &lt;to uri=&quot;crypto:verify://headerkey&quot; /&gt;
+    &lt;to uri=&quot;crypto:verify:headerkey&quot; /&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;    
 ]]></script>
 </div></div>Even better would be to dynamically supply a keystore alias. Again 
the alias can be supplied in a message 
header<ul><li><code>Exchange.KEYSTORE_ALIAS</code>, 
<code>"CamelSignatureKeyStoreAlias"</code></li></ul><p></p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;direct:alias-sign&quot;).to(&quot;crypto:sign://alias?keystore=#keystore&quot;);
-from(&quot;direct:alias-verify&quot;).to(&quot;crypto:verify://alias?keystore=#keystore&quot;,
 &quot;mock:result&quot;);
+from(&quot;direct:alias-sign&quot;).to(&quot;crypto:sign:alias?keystore=#keystore&quot;);
+from(&quot;direct:alias-verify&quot;).to(&quot;crypto:verify:alias?keystore=#keystore&quot;,
 &quot;mock:result&quot;);
 ]]></script>
 </div></div>or<div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
     &lt;from uri=&quot;direct:alias-sign&quot;/&gt;
-    &lt;to uri=&quot;crypto:sign://alias?keystore=#keystore&quot; /&gt;
+    &lt;to uri=&quot;crypto:sign:alias?keystore=#keystore&quot; /&gt;
 &lt;/route&gt;       
 &lt;route&gt;
     &lt;from uri=&quot;direct:alias-verify&quot;/&gt;
-    &lt;to uri=&quot;crypto:verify://alias?keystore=#keystore&quot; /&gt;
+    &lt;to uri=&quot;crypto:verify:alias?keystore=#keystore&quot; /&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
 &lt;/route&gt;    
 ]]></script>


Reply via email to