You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2016/01/31 03:24:33 UTC

svn commit: r979059 [2/3] - in /websites/production/camel/content: ./ 2016/01/30/ cache/

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 Sun Jan 31 02:24: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><li>The&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> now supports default values for query parameters</li><li>Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.</li><li><a shape="rect" href="rabbitmq.html">RabbitMQ</a> consumer more resilient to auto re-connect in case of connection failures</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.ht
 ml">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><li><a shape="rect" href="lzf-data-format.html">LZF Data Format</a> - LZF based data format.&#160;</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 fr
 om 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>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 cl
 ass="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>Exchange and Message only output id in their toString method to avoid outputting any message details such as
  sensitive details from message bodies.</li><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=foo@bar.com, instead of&#160;<a shape="rect" class="external-link" href="mailto:To=foo@bar.com" rel="nofollow">To=foo@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=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" rowspan="1" class="confluenc
 eTh"><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.g
 z">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-S
 ourceDistributions">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><tr><td colspan="1" rows
 pan="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
 ">
+<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><li>The&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> now supports default values for query parameters</li><li>Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.</li><li>Camel&#160;<a shape="rect" href="error-handler.html">Error Handler</a> no longer log message body/header details when logging the <a shape="rect" href="message-history.html">Message History</a>. This avoids logging any&#160;sensitive details from message bodies.</li><li><a 
 shape="rect" href="rabbitmq.html">RabbitMQ</a> consumer more resilient to auto re-connect in case of connection failures</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 J
 ava</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 propa
 gate 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><li><a shape="rect" href="lzf-data-format.html">LZF Data Format</a> - LZF based data format.&#160;</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-cdi-metrics - illustrates the integration between Camel, Dropwizard Metrics and CDI.</li><li>camel-example-cdi-properties -&#160;<span>illustrates the integration between Camel, DeltaSpike and CDI for configura
 tion properties.</span></li><li><span>camel-example-cdi-rest-servlet -&#160;<span>illustrates the Camel REST DSL being used in a Web application that uses CDI as dependency injection framework</span></span></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.0Re
 lease-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>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</l
 i><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>Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.</li><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.&#16
 0;</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=foo@bar.com, instead of&#160;<a shape="rect" class="external-link" href="mailto:To=foo@bar.com" rel="nofollow">To=foo@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 t
 he 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" 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 redi
 rection</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>Sou
 rce 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><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.apach
 e.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/dead-letter-channel.html
==============================================================================
--- websites/production/camel/content/dead-letter-channel.html (original)
+++ websites/production/camel/content/dead-letter-channel.html Sun Jan 31 02:24:33 2016
@@ -117,7 +117,7 @@
     errorHandler(deadLetterChannel(&quot;jms:queue:dead&quot;)
        .useOriginalMessage().maximumRedeliveries(5).redeliverDelay(5000);
 ]]></script>
-</div></div><p>Then the messages routed to the <code>jms:queue:dead</code> is the original input. If we want to manually retry we can move the JMS message from the failed to the input queue, with no problem as the message is the same as the original we received.</p><h3 id="DeadLetterChannel-OnRedelivery">OnRedelivery</h3><p>When <a shape="rect" href="dead-letter-channel.html">Dead Letter Channel</a> is doing redeliver its possible to configure a <a shape="rect" href="processor.html">Processor</a> that is executed just <strong>before</strong> every redelivery attempt. This can be used for the situations where you need to alter the message before its redelivered. See below for sample.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">onException and onRedeliver</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>We also support for per <a sh
 ape="rect" href="exception-clause.html"><strong>onException</strong></a> to set a <strong>onRedeliver</strong>. That means you can do special on redelivery for different exceptions, as opposed to onRedelivery set on <a shape="rect" href="dead-letter-channel.html">Dead Letter Channel</a> can be viewed as a global scope.</p></div></div><h3 id="DeadLetterChannel-Redeliverydefaultvalues">Redelivery default values</h3><p>Redelivery is disabled by default.</p><p>The default redeliver policy will use the following values:</p><ul><li>maximumRedeliveries=0</li><li>redeliverDelay=1000L (1 second)</li><li>maximumRedeliveryDelay = 60 * 1000L (60 seconds)</li><li>And the exponential backoff and collision avoidance is turned off.</li><li>The retriesExhaustedLogLevel are set to LoggingLevel.ERROR</li><li>The retryAttemptedLogLevel are set to LoggingLevel.DEBUG</li><li>Stack traces is logged for exhausted messages from Camel 2.2 onwards.</li><li>Handled exceptions is not logged from Camel 2.3 onwar
 ds</li><li>logExhaustedMessageHistory is true for default error handler, and false for dead letter channel.</li></ul><p>The maximum redeliver delay ensures that a delay is never longer than the value, default 1 minute. This can happen if you turn on the exponential backoff.</p><p>The maximum redeliveries is the number of <strong>re</strong> delivery attempts. By default Camel will try to process the exchange 1 + 5 times. 1 time for the normal attempt and then 5 attempts as redeliveries.<br clear="none"> Setting the maximumRedeliveries to a negative value such as -1 will then always redelivery (unlimited).<br clear="none"> Setting the maximumRedeliveries to 0 will disable any re delivery attempt.</p><p>Camel will log delivery failures at the DEBUG logging level by default. You can change this by specifying retriesExhaustedLogLevel and/or retryAttemptedLogLevel. See <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apa
 che/camel/builder/ExceptionBuilderWithRetryLoggingLevelSetTest.java">ExceptionBuilderWithRetryLoggingLevelSetTest</a> for an example.</p><p>You can turn logging of stack traces on/off. If turned off Camel will still log the redelivery attempt. Its just much less verbose.</p><h4 id="DeadLetterChannel-RedeliverDelayPattern">Redeliver Delay Pattern</h4><p>Delay pattern is used as a single option to set a range pattern for delays. If used then the following options does not apply: (delay, backOffMultiplier, useExponentialBackOff, useCollisionAvoidance, maximumRedeliveryDelay).</p><p>The idea is to set groups of ranges using the following syntax: <code>limit:delay;limit 2:delay 2;limit 3:delay 3;...;limit N:delay N</code></p><p>Each group has two values separated with colon</p><ul class="alternate"><li>limit = upper limit</li><li>delay = delay in millis<br clear="none"> And the groups is again separated with semi colon.<br clear="none"> The rule of thumb is that the next groups should ha
 ve a higher limit than the previous group.</li></ul><p>Lets clarify this with an example:<br clear="none"> <code>delayPattern=5:1000;10:5000;20:20000</code></p><p>That gives us 3 groups:</p><ul class="alternate"><li>5:1000</li><li>10:5000</li><li>20:20000</li></ul><p>Resulting in these delays for redelivery attempt:</p><ul class="alternate"><li>Redelivery attempt number 1..4 = 0 millis (as the first group start with 5)</li><li>Redelivery attempt number 5..9 = 1000 millis (the first group)</li><li>Redelivery attempt number 10..19 = 5000 millis (the second group)</li><li>Redelivery attempt number 20.. = 20000 millis (the last group)</li></ul><p>Note: The first redelivery attempt is 1, so the first group should start with 1 or higher.</p><p>You can start a group with limit 1 to eg have a starting delay: <code>delayPattern=1:1000;5:5000</code></p><ul class="alternate"><li>Redelivery attempt number 1..4 = 1000 millis (the first group)</li><li>Redelivery attempt number 5.. = 5000 millis (
 the last group)</li></ul><p>There is no requirement that the next delay should be higher than the previous. You can use any delay value you like. For example with <code>delayPattern=1:5000;3:1000</code> we start with 5 sec delay and then later reduce that to 1 second.</p><h3 id="DeadLetterChannel-Redeliveryheader">Redelivery header</h3><p>When a message is redelivered the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/camel-core/apidocs/org/apache/camel/processor/DeadLetterChannel.html">DeadLetterChannel</a> will append a customizable header to the message to indicate how many times its been redelivered. <br clear="none"> Before Camel 2.6: The header is <strong>CamelRedeliveryCounter</strong>, which is also defined on the <code>Exchange.REDELIVERY_COUNTER</code>.<br clear="none"> Starting with 2.6: The header <strong>CamelRedeliveryMaxCounter</strong>, which is also defined on the <code>Exchange.REDELIVERY_MAX_COUNTER</code>, contains the maximum redeliver
 y setting. This header is absent if you use <code>retryWhile</code> or have unlimited maximum redelivery configured.</p><p>And a boolean flag whether it is being redelivered or not (first attempt)<br clear="none"> The header <strong>CamelRedelivered</strong> contains a boolean if the message is redelivered or not, which is also defined on the <code>Exchange.REDELIVERED</code>.</p><p>Dynamically calculated delay from the exchange<br clear="none"> In Camel 2.9 and 2.8.2: The header is <strong>CamelRedeliveryDelay</strong>, which is also defined on the <code>Exchange.REDELIVERY_DELAY</code>.<br clear="none"> Is this header is absent, normal redelivery rules apply.</p><h4 id="DeadLetterChannel-Whichendpointfailed">Which endpoint failed</h4><p><strong>Available as of Camel 2.1</strong></p><p>When Camel routes messages it will decorate the <a shape="rect" href="exchange.html">Exchange</a> with a property that contains the <strong>last</strong> endpoint Camel send the <a shape="rect" href=
 "exchange.html">Exchange</a> to:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Then the messages routed to the <code>jms:queue:dead</code> is the original input. If we want to manually retry we can move the JMS message from the failed to the input queue, with no problem as the message is the same as the original we received.</p><h3 id="DeadLetterChannel-OnRedelivery">OnRedelivery</h3><p>When <a shape="rect" href="dead-letter-channel.html">Dead Letter Channel</a> is doing redeliver its possible to configure a <a shape="rect" href="processor.html">Processor</a> that is executed just <strong>before</strong> every redelivery attempt. This can be used for the situations where you need to alter the message before its redelivered. See below for sample.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">onException and onRedeliver</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>We also support for per <a sh
 ape="rect" href="exception-clause.html"><strong>onException</strong></a> to set a <strong>onRedeliver</strong>. That means you can do special on redelivery for different exceptions, as opposed to onRedelivery set on <a shape="rect" href="dead-letter-channel.html">Dead Letter Channel</a> can be viewed as a global scope.</p></div></div><h3 id="DeadLetterChannel-Redeliverydefaultvalues">Redelivery default values</h3><p>Redelivery is disabled by default.</p><p>The default redeliver policy will use the following values:</p><ul><li>maximumRedeliveries=0</li><li>redeliverDelay=1000L (1 second)</li><li>maximumRedeliveryDelay = 60 * 1000L (60 seconds)</li><li>And the exponential backoff and collision avoidance is turned off.</li><li>The retriesExhaustedLogLevel are set to LoggingLevel.ERROR</li><li>The retryAttemptedLogLevel are set to LoggingLevel.DEBUG</li><li>Stack traces is logged for exhausted messages from Camel 2.2 onwards.</li><li>Handled exceptions is not logged from Camel 2.3 onwar
 ds</li><li>logExhaustedMessageHistory is true for default error handler, and false for dead letter channel.</li><li>logExhaustedMessageBody <strong>Camel 2.17:</strong>&#160;is disabled by default to avoid logging sensitive message body/header details. If this option is true, then&#160;logExhaustedMessageHistory must also be true.</li></ul><p>The maximum redeliver delay ensures that a delay is never longer than the value, default 1 minute. This can happen if you turn on the exponential backoff.</p><p>The maximum redeliveries is the number of <strong>re</strong> delivery attempts. By default Camel will try to process the exchange 1 + 5 times. 1 time for the normal attempt and then 5 attempts as redeliveries.<br clear="none"> Setting the maximumRedeliveries to a negative value such as -1 will then always redelivery (unlimited).<br clear="none"> Setting the maximumRedeliveries to 0 will disable any re delivery attempt.</p><p>Camel will log delivery failures at the DEBUG logging level b
 y default. You can change this by specifying retriesExhaustedLogLevel and/or retryAttemptedLogLevel. See <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderWithRetryLoggingLevelSetTest.java">ExceptionBuilderWithRetryLoggingLevelSetTest</a> for an example.</p><p>You can turn logging of stack traces on/off. If turned off Camel will still log the redelivery attempt. Its just much less verbose.</p><h4 id="DeadLetterChannel-RedeliverDelayPattern">Redeliver Delay Pattern</h4><p>Delay pattern is used as a single option to set a range pattern for delays. If used then the following options does not apply: (delay, backOffMultiplier, useExponentialBackOff, useCollisionAvoidance, maximumRedeliveryDelay).</p><p>The idea is to set groups of ranges using the following syntax: <code>limit:delay;limit 2:delay 2;limit 3:delay 3;...;limit N:delay N</code></p><p>Each group has two values separated wit
 h colon</p><ul class="alternate"><li>limit = upper limit</li><li>delay = delay in millis<br clear="none"> And the groups is again separated with semi colon.<br clear="none"> The rule of thumb is that the next groups should have a higher limit than the previous group.</li></ul><p>Lets clarify this with an example:<br clear="none"> <code>delayPattern=5:1000;10:5000;20:20000</code></p><p>That gives us 3 groups:</p><ul class="alternate"><li>5:1000</li><li>10:5000</li><li>20:20000</li></ul><p>Resulting in these delays for redelivery attempt:</p><ul class="alternate"><li>Redelivery attempt number 1..4 = 0 millis (as the first group start with 5)</li><li>Redelivery attempt number 5..9 = 1000 millis (the first group)</li><li>Redelivery attempt number 10..19 = 5000 millis (the second group)</li><li>Redelivery attempt number 20.. = 20000 millis (the last group)</li></ul><p>Note: The first redelivery attempt is 1, so the first group should start with 1 or higher.</p><p>You can start a group wi
 th limit 1 to eg have a starting delay: <code>delayPattern=1:1000;5:5000</code></p><ul class="alternate"><li>Redelivery attempt number 1..4 = 1000 millis (the first group)</li><li>Redelivery attempt number 5.. = 5000 millis (the last group)</li></ul><p>There is no requirement that the next delay should be higher than the previous. You can use any delay value you like. For example with <code>delayPattern=1:5000;3:1000</code> we start with 5 sec delay and then later reduce that to 1 second.</p><h3 id="DeadLetterChannel-Redeliveryheader">Redelivery header</h3><p>When a message is redelivered the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/camel-core/apidocs/org/apache/camel/processor/DeadLetterChannel.html">DeadLetterChannel</a> will append a customizable header to the message to indicate how many times its been redelivered. <br clear="none"> Before Camel 2.6: The header is <strong>CamelRedeliveryCounter</strong>, which is also defined on the <code>Exchang
 e.REDELIVERY_COUNTER</code>.<br clear="none"> Starting with 2.6: The header <strong>CamelRedeliveryMaxCounter</strong>, which is also defined on the <code>Exchange.REDELIVERY_MAX_COUNTER</code>, contains the maximum redelivery setting. This header is absent if you use <code>retryWhile</code> or have unlimited maximum redelivery configured.</p><p>And a boolean flag whether it is being redelivered or not (first attempt)<br clear="none"> The header <strong>CamelRedelivered</strong> contains a boolean if the message is redelivered or not, which is also defined on the <code>Exchange.REDELIVERED</code>.</p><p>Dynamically calculated delay from the exchange<br clear="none"> In Camel 2.9 and 2.8.2: The header is <strong>CamelRedeliveryDelay</strong>, which is also defined on the <code>Exchange.REDELIVERY_DELAY</code>.<br clear="none"> Is this header is absent, normal redelivery rules apply.</p><h4 id="DeadLetterChannel-Whichendpointfailed">Which endpoint failed</h4><p><strong>Available as of
  Camel 2.1</strong></p><p>When Camel routes messages it will decorate the <a shape="rect" href="exchange.html">Exchange</a> with a property that contains the <strong>last</strong> endpoint Camel send the <a shape="rect" href="exchange.html">Exchange</a> to:</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[String lastEndpointUri = exchange.getProperty(Exchange.TO_ENDPOINT, String.class);
 ]]></script>
 </div></div><p>The <code>Exchange.TO_ENDPOINT</code> have the constant value <code>CamelToEndpoint</code>.</p><p>This information is updated when Camel sends a message to any endpoint. So if it exists its the <strong>last</strong> endpoint which Camel send the Exchange to.</p><p>When for example processing the <a shape="rect" href="exchange.html">Exchange</a> at a given <a shape="rect" href="endpoint.html">Endpoint</a> and the message is to be moved into the dead letter queue, then Camel also decorates the Exchange with another property that contains that <strong>last</strong> endpoint:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -160,7 +160,7 @@ from(&quot;seda:foo&quot;).routeId(&quot
     .to(&quot;mock:foo&quot;)
     .throwException(new IllegalArgumentException(&quot;Forced&quot;));
 ]]></script>
-</div></div><p>And the sample sample with XML DSL</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>And the sample sample with XML DSL<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;!-- notice we use the errorHandlerRef attribute to refer to the error handler to use as default --&gt;
    &lt;camelContext errorHandlerRef=&quot;myErrorHandler&quot; xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
@@ -191,7 +191,7 @@ RouteBuilder builder = new RouteBuilder(
     }
 };
 ]]></script>
-</div></div><p>You can also configure the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/RedeliveryPolicy.html">RedeliveryPolicy</a> as this example shows</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>You can also configure the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/RedeliveryPolicy.html">RedeliveryPolicy</a> as this example shows<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[
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
@@ -214,7 +214,7 @@ errorHandler(deadLetterChannel(&quot;moc
         // setting delay to zero is just to make unit testing faster
         .redeliveryDelay(0L));
 ]]></script>
-</div></div><p>And this is the processor <code>MyRedeliveryProcessor</code> where we alter the message.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>And this is the processor <code>MyRedeliveryProcessor</code> where we alter the message.<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[
 // This is our processor that is executed before every redelivery attempt
 // here we can do what we want in the java code, such as altering the message

Modified: websites/production/camel/content/geocoder.html
==============================================================================
--- websites/production/camel/content/geocoder.html (original)
+++ websites/production/camel/content/geocoder.html Sun Jan 31 02:24:33 2016
@@ -85,91 +85,35 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Geocoder-GeocoderComponent">Geocoder Component</h2>
-<p><strong>Available as of Camel 2.12</strong></p>
-
-<p>The <strong>geocoder:</strong> component is used for looking up geocodes (latitude and longitude) for a given address, or reverse lookup. The component uses the <a shape="rect" class="external-link" href="https://code.google.com/p/geocoder-java/" rel="nofollow">Java API for Google Geocoder</a> library.</p>
-
-<p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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;
+<div class="wiki-content maincontent"><h2 id="Geocoder-GeocoderComponent">Geocoder Component</h2><p><strong>Available as of Camel 2.12</strong></p><p>The <strong>geocoder:</strong> component is used for looking up geocodes (latitude and longitude) for a given address, or reverse lookup. The component uses the <a shape="rect" class="external-link" href="https://code.google.com/p/geocoder-java/" rel="nofollow">Java API for Google Geocoder</a> library.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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-geocoder&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="Geocoder-URIformat">URI format</h3>
-
-<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[
-geocoder:address:name[?options]
+</div></div><h3 id="Geocoder-URIformat">URI format</h3><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[geocoder:address:name[?options]
 geocoder:latlng:latitude,longitude[?options]
 ]]></script>
-</div></div>
-
-<h3 id="Geocoder-Options">Options</h3>
-
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Property </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>language</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>en</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The language to use. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>headersOnly</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Whether to only enrich the <a shape="rect" href="exchange.html">Exchange</a> with headers, and leave the body as-is. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>clientId</code> </p></td><td colspan="
 1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use google premium with this client id </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>clientKey</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use google premium with this client key </p></td></tr></tbody></table></div>
-</div>
-
-<p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p>
-
-<h3 id="Geocoder-Exchangedataformat">Exchange data format</h3>
-
-<p>Camel will deliver the body as a <code>com.google.code.geocoder.model.GeocodeResponse</code> type.<br clear="none">
-And if the address is <code>"current"</code> then the response is a String type with a JSON representation of the current location.</p>
-
-<p>If the option <code>headersOnly</code> is set to <code>true</code> then the message body is left as-is, and only headers will be added to the <a shape="rect" href="exchange.html">Exchange</a>.</p>
-
-<h3 id="Geocoder-MessageHeaders">Message Headers</h3>
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Header </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderStatus</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Mandatory. Status code from the geocoder library. If status is <code>GeocoderStatus.OK</code> then additional headers is enriched </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderAddress</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The formatted address </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderLat</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The latitude of the location. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderLng</code> </p></td><td colsp
 an="1" rowspan="1" class="confluenceTd"><p> The longitude of the location. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderLatlng</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The latitude and longitude of the location. Separated by comma. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderCity</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The city long name. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderRegionCode</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The region code. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderRegionName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The region name. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderCountryLong</code> </p></td><td colspan="1" 
 rowspan="1" class="confluenceTd"><p> The country long name. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelGeoCoderCountryShort</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The country short name. </p></td></tr></tbody></table></div>
-</div>
-
-<p>Notice not all headers may be provided depending on available data and mode in use (address vs latlng).</p>
-
-<h3 id="Geocoder-Samples">Samples</h3>
-
-<p>In the example below we get the latitude and longitude for Paris, France</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:start&quot;)
+</div></div><h3 id="Geocoder-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</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>language</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>en</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The language to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>headersOnly</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to only enrich the <a shape="rect" href="exchange.html">Exchange</a> with headers, and leave the body as-is.</p></td></tr><tr><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p><code>clientId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use google premium with this client id</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>clientKey</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use google premium with this client key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>httpClientConfigurer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong>&#160;Reference to a <code>org.apache.camel.component.geocoder.http.HttpClientConfigurer </code>in the&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/display/CAMEL/Registry">Registry</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class
 ="confluenceTd"><p><code>clientConnectionManager</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>To use a custom <code>org.apache.http.conn.ClientConnectionManager</code></p></td></tr></tbody></table></div></div><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><p>&#160;</p><h3 id="Geocoder-Proxy">Proxy</h3><p>The following proxy options can also be set on the GeoCoderEndpoint</p><p>&#160;</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</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>proxyHos
 t</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>The proxy host name</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>proxyPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>The proxy port number</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>proxyAuthMethod</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>Authentication method for proxy, either as&#160;<code>Basic</code>,&#160;<code>Digest</code>&#160;or&#160;<code>NTLM</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>p
 roxyAuthUsername</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>Username for proxy authentication</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>proxyAuthPassword</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>Password for proxy authentication</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>proxyAuthDomain</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>Domain for proxy NTML authentication</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>proxyAuthHost</code></p></td><td colspan
 ="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17:</strong><span>&#160;</span>Optional host for proxy NTML authentication</p></td></tr></tbody></table></div></div><h3 id="Geocoder-Exchangedataformat">Exchange data format</h3><p>Camel will deliver the body as a <code>com.google.code.geocoder.model.GeocodeResponse</code> type.<br clear="none"> And if the address is <code>"current"</code> then the response is a String type with a JSON representation of the current location.</p><p>If the option <code>headersOnly</code> is set to <code>true</code> then the message body is left as-is, and only headers will be added to the <a shape="rect" href="exchange.html">Exchange</a>.</p><h3 id="Geocoder-MessageHeaders">Message Headers</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan
 ="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderStatus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Mandatory. Status code from the geocoder library. If status is <code>GeocoderStatus.OK</code> then additional headers is enriched</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderAddress</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The formatted address</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderLat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The latitude of the location.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderLng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The longitude of the location.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoder
 Latlng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The latitude and longitude of the location. Separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderCity</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The city long name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderRegionCode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region code.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderRegionName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderCountryLong</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The country long name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelGeoCoderCountryShort</code></p></td><td col
 span="1" rowspan="1" class="confluenceTd"><p>The country short name.</p></td></tr></tbody></table></div></div><p>Notice not all headers may be provided depending on available data and mode in use (address vs latlng).</p><h3 id="Geocoder-Samples">Samples</h3><p>In the example below we get the latitude and longitude for Paris, France</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:start&quot;)
     .to(&quot;geocoder:address:Paris, France&quot;)
 ]]></script>
-</div></div>
-
-<p>If you provide a header with the <code>CamelGeoCoderAddress</code> then that overrides the endpoint configuration, so to get the location of Copenhagen, Denmark we can send a message with a headers as shown:</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[
-template.sendBodyAndHeader(&quot;direct:start&quot;, &quot;Hello&quot;, GeoCoderConstants.ADDRESS, &quot;Copenhagen, Denmark&quot;);
-]]></script>
-</div></div>
-
-<p>To get the address for a latitude and longitude we can do:</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:start&quot;)
+</div></div><p>If you provide a header with the <code>CamelGeoCoderAddress</code> then that overrides the endpoint configuration, so to get the location of Copenhagen, Denmark we can send a message with a headers as shown:</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[template.sendBodyAndHeader(&quot;direct:start&quot;, &quot;Hello&quot;, GeoCoderConstants.ADDRESS, &quot;Copenhagen, Denmark&quot;);
+]]></script>
+</div></div><p>To get the address for a latitude and longitude we can do:</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:start&quot;)
     .to(&quot;geocoder:latlng:40.714224,-73.961452&quot;)
     .log(&quot;Location ${header.CamelGeocoderAddress} is at lat/lng: ${header.CamelGeocoderLatlng} and in country ${header.CamelGeoCoderCountryShort}&quot;)
 ]]></script>
-</div></div>
-
-<p>Which will log</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[
-Location 285 Bedford Avenue, Brooklyn, NY 11211, USA is at lat/lng: 40.71412890,-73.96140740 and in country US
-]]></script>
-</div></div>
-
-<p>To get the current location you can use "current" as the address as shown:</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:start&quot;)
+</div></div><p>Which will log</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[Location 285 Bedford Avenue, Brooklyn, NY 11211, USA is at lat/lng: 40.71412890,-73.96140740 and in country US
+]]></script>
+</div></div><p>To get the current location you can use "current" as the address as shown:</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:start&quot;)
     .to(&quot;geocoder:address:current&quot;)
 ]]></script>
 </div></div></div>

Modified: websites/production/camel/content/index.html
==============================================================================
--- websites/production/camel/content/index.html (original)
+++ websites/production/camel/content/index.html Sun Jan 31 02:24:33 2016
@@ -99,6 +99,26 @@ There's a great discussion about Camel a
 </p><div class="blog-post-listing">
             <div class="logo-heading-block">
             <span class="logoBlock">
+                <a shape="rect" class="userLogoLink" href="    /confluence/display/~davsclaus ">
+               <img class="userLogo logo" src="index.userimage/user-avatar" alt="User icon: davsclaus" title="davsclaus">
+           </a>            </span>
+            <span class="blogHeading">
+                <a shape="rect" class="blogHeading" href="2016/01/30/cve-2015-5344-apache-camel-medium-disclosure-vulnerability.html">CVE-2015-5344 - Apache Camel medium disclosure vulnerability</a>
+                </span><div class="page-metadata not-personal">    <a shape="rect" class="url fn confluence-userlink" href="    /confluence/display/~davsclaus ">Claus Ibsen</a> posted on Jan 30, 2016</div>
+            
+        </div>
+    
+    <div class="wiki-content">
+        <p>Apache Camel's XStream usage is vulnerable to Remote Code Execution attacks</p><p>Apache Camel's camel-xstream component is vulnerable to Java object de-serialisation vulnerability.<br clear="none">Such as de-serializing untrusted data can lead to security flaws as demonstrated in various similar reports about Java de-serialization issues.</p><p>Please study this security vulnerability carefully!<br clear="none">CVE-2015-5344 - [1]</p><p>You can download the fixed Apache Camel 2.15.x and 2.16.x version from the Apache mirrors [2] or from the Central Maven repository.</p><p>[1] <a shape="rect" class="external-link" href="http://camel.apache.org/security-advisories.data/CVE-2015-5344.txt.asc?version=1&amp;modificationDate=1454056803464&amp;api=v2">http://camel.apache.org/security-advisories.data/CVE-2015-5344.txt.asc?version=1&amp;modificationDate=1454056803464&amp;api=v2</a><br clear="none">[2] <a shape="rect" class="external-link" href="http://camel.apache.org/download">h
 ttp://camel.apache.org/download</a></p><p>&#160;</p><p>On behalf of the Camel PMC,<br clear="none">Claus Ibsen</p>
+    </div>
+    
+        
+    </div>
+    
+        
+<div class="blog-post-listing">
+            <div class="logo-heading-block">
+            <span class="logoBlock">
                 <a shape="rect" class="userLogoLink" href="    /confluence/display/~gzurowski ">
                <img class="userLogo logo" src="index.userimage/gzurowski-89607-pp-wojtek-avatar.png" alt="User icon: gzurowski" title="gzurowski">
            </a>            </span>
@@ -193,26 +213,6 @@ There's a great discussion about Camel a
     </div>
     
         
-    </div>
-    
-        
-<div class="blog-post-listing">
-            <div class="logo-heading-block">
-            <span class="logoBlock">
-                <a shape="rect" class="userLogoLink" href="    /confluence/display/~gzurowski ">
-               <img class="userLogo logo" src="index.userimage/gzurowski-89607-pp-wojtek-avatar.png" alt="User icon: gzurowski" title="gzurowski">
-           </a>            </span>
-            <span class="blogHeading">
-                <a shape="rect" class="blogHeading" href="2015/11/22/apache-camel-2161-released.html">Apache Camel 2.16.1 Released</a>
-                </span><div class="page-metadata not-personal">    <a shape="rect" class="url fn confluence-userlink" href="    /confluence/display/~gzurowski ">Gregor Zurowski</a> posted on Nov 22, 2015</div>
-            
-        </div>
-    
-    <div class="wiki-content">
-        <p>The Camel community announces the immediate availability of the new patch release Camel 2.16.1. This release contains over 60 fixes applied in the past few weeks by the community on the Camel 2.16.x maintenance branch.&#160;This release also updates the <a shape="rect" class="external-link" href="https://commons.apache.org/proper/commons-collections">Apache Commons Collections</a> library to version <a shape="rect" class="external-link" href="https://commons.apache.org/proper/commons-collections/release_3_2_2.html">3.2.2</a> that contains a patch for a <a shape="rect" class="external-link" href="https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread">recently reported object de-serialization vulnerability</a>.</p><p>The artifacts are published and ready for you to <a shape="rect" class="external-link" href="http://camel.apache.org/download.html">download</a> either from the Apache mirrors or from the Central Maven repository. For more details ple
 ase take a look at the <a shape="rect" class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311211&amp;version=12333749">release notes</a>.<br clear="none">Many thanks to all who made this release possible.</p><p>On behalf of the Camel PMC,<br clear="none">Gregor Zurowski</p>
-    </div>
-    
-        
     </div>
     <p><a shape="rect" href="https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&amp;spaces=CAMEL&amp;title=Apache+Camel+News&amp;sort=modified&amp;maxResults=10&amp;timeSpan=60&amp;showContent=true&amp;confirm=Create+RSS+Feed">RSS Feed</a></p><h3 id="Index-Links">Links</h3><ul><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="architecture.html">Architecture</a></li><li><a shape="rect" href="user-guide.html">User Guide</a></li><li><a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></li><li><a shape="rect" href="news.html">More News</a></li></ul></div>
         </td>