Author: buildbot
Date: Fri Feb 19 19:19:01 2016
New Revision: 980785

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2170-release.html
    websites/production/camel/content/rest-dsl.html

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

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 Fri Feb 19 
19:19:01 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>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>Cam
 el&#160;<a shape="rect" href="exception-clause.html">Exception Clause</a> 
and&#160;<a shape="rect" href="error-handler.html">Error Handler</a> now 
supports using a custom&#160;<code>Processor</code> to be invoked right after 
an exception was thrown using the new&#160;<strong>onExceptionOccurred</strong> 
option.</li><li><a shape="rect" href="rabbitmq.html">RabbitMQ</a> consumer more 
resilient to auto re-connect in case of connection failures</li><li>The&#160;<a 
shape="rect" href="json.html">JSON</a> <code>camel-jackson</code>&#160;can be 
used as a type converter to convert json to/from POJO and String/byte[] types, 
if enabled.</li><li>The&#160;<a shape="rect" href="sql-component.html">SQL 
Component</a> now supports loading the SQL queries from external files on the 
classpath or file system, where you can format the queries using newlines and 
indenting.</li><li>The&#160;<a shape="rect" href="http.html">HTTP</a> 
and&#160;<a shape="rect" href="http4.html">HTTP4</a> producers now support
  the&#160;<code>disableStreamCache</code> option to allow to use the raw 
response stream as the message body instead of wrapping using&#160;<a 
shape="rect" href="stream-caching.html">Stream caching</a></li><li>The <a 
shape="rect" href="cdi.html">Camel CDI</a> component has been improved to 
better fit into the CDI programming model, cover a larger set of containers, 
and provide these new features:<ul><li>The Camel events from the 
<code>org.apache.camel.management.event</code> package (like 
<code>CamelContextStartedEvent</code>)&#160;can be observed as CDI 
events</li><li>The new CDI event Camel endpoint enable&#160;<span>CDI events to 
be seamlessly consumed from (respectively produced by) Camel consumers 
(respectively Camel producers)</span></li><li><span><span>CDI beans annotated 
with the&#160;</span><code>@Converter</code><span>&#160;annotation are 
automatically registered as type 
converters</span></span></li><li><span><span>The CDI Camel contexts can 
be&#160;properly customised pro
 grammatically in bean constructor or&#160;<code>@PostConstruct</code> 
lifecycle callback</span></span></li><li>Camel routes configured in 
<code>RouteBuilder</code> beans are added before the corresponding Camel 
contexts get started</li><li><span>CDI Camel contexts are now properly adapted 
when deployed in OSGi containers and are registered as OSGi 
services</span></li><li>Proper support of multiple Camel contexts across all 
the features<span><br clear="none"></span></li></ul></li><li>The&#160;<a 
shape="rect" href="xslt.html">XSLT</a> component now supports Saxon's&#160;<a 
shape="rect" class="external-link" 
href="http://www.saxonica.com/html/documentation/extensibility/integratedfunctions";
 rel="nofollow" title="Follow link">integrated extension 
functions</a>.</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 remot
 e 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;<code>camel-blueprint</code> to 
wait for the bundles with the component and data-formats the&#160;<a 
shape="rect" href="rest-dsl.html">Rest DSL</a> has been configured to use, are 
available before starting Camel.</li><li>Fixed an issue with&#160;<a 
shape="rect" href="error-handler.html">Error Handler</a> would log any 
handled(true) exceptions.</li><li>Fixed a memory leak if adding/removing routes 
using&#160;<a shape="rect" href="idem
 potent-consumer.html">Idempotent Consumer</a> where the repository would not 
be removed from the JMX registry when routes is removed.</li><li>Fixed issue 
with&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> would eager 
shutdown some Camel resources like type converters, which spring-boot should 
let Camel handle the lifecycle of these resources.</li><li>Fixed&#160;<a 
shape="rect" href="cxfrs.html">CXFRS</a> using simple binding mode would use 
the content-length header from the incoming message in the response, instead of 
calculating the length based on the output message body.</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-integra
 tion-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><a shape="rect" 
href="aws-kinesis.html">camel-aws</a> - AWS kinesis streams component 
added</li><li><a shape="rect" href="aws-ddbstream.html">camel-aws</a> - 
DynamoDB streams component added</li><li><a shape="rect" 
href="ignite.html">camel-ignite</a> - for working with Apache 
Ignite.</li><li><a shape="rect" href="mllp.html">camel-mllp</a> -&#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><a shape="rect" 
href="apache-spark.html">camel-spark</a> - bridges Apache Spark computations 
with Camel endpoints</li><li><a shape="rect" 
href="sql-stored-procedure.html">camel-sql</a> - Now supports calling stored 
procedures using the new <a shape="rect"
  href="sql-stored-procedure.html">sql-stored 
component</a>.</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 configuration properties.<
 /span></li><li><span>camel-example-cdi-osgi - a<span>&#160;CDI application 
using the SJMS component that can be executed inside an OSGi container using 
PAX CDI.</span></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;<e
 m>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><ul><li>As part of the <a 
shape="rect" href="cdi.html">Camel CDI</a> component refactoring:<ul><li>The 
<code>@ContextName</code>&#160;qualifier does not have a default empty value 
anymore as it is irrelevant</li><li>The&#160;CdiPropertiesComponent&#160;class 
has been removed, the standard&#160;PropertiesComponent&#160;can be used 
instead</li></ul></li></ul><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 Op
 enEjb 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 cla
 ss="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><strong>Th
 is is the last release that will support Java 1.7. Releases after this is 
expected to require Java 1.8+.&#160;</strong></li><li>Any custom component that 
supports suspension in doSuspend/doResume should implement the 
new&#160;<code>Suspendable</code> marker interface, so Camel knows there is 
custom logic for suspension in the component.</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>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. Support for 
Spring 3.x is being <strong>removed</strong> in the next release.</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="twitter.html">Twitter</a> delay option is changed from seconds to milli 
seconds by default, eg 10 should be 10000 
 to indicate 10 seconds. This is aligned how other components with delay option 
behaves.&#160;</li><li>The options&#160;<code>attributeNames</code> 
and&#160;<code>messageAttributeNames</code> on&#160;<a shape="rect" 
href="aws-sqs.html">AWS-SQS</a> is changed to a string type where you can 
separate multiple values using comma. Before the type was a Collection which 
was much harder to configure in the Camel uris.</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 style="line-height: 
1.42857;">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><li>As
 part of the <a shape="rect" href="cdi.html">Camel CDI</a> component 
refactoring,&#160;<em>DeltaSpike</em> is not used anymore for 
 the sourcing of the configuration properties. This new version of the 
component is agnostic to any configuration sourcing mechanism and delegates 
that concern to the application so that it can declare a 
custom&#160;<code>PropertiesComponent</code>&#160;bean whose sourcing is 
tailored to its need. <em>DeltaSpike</em> can still be used by the application 
by declaring a&#160;<code>PropertiesComponent</code>&#160;bean configured with 
a&#160;<code>PropertiesParser</code>&#160;relying on <em>DeltaSpike</em>. See 
the&#160;<code>camel-example-cdi-properties</code>&#160;example for more 
details.</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 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" ro
 wspan="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" 
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">
+<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>The&#160;<a shape="rect" 
href="rest-dsl.html">Rest DSL</a> now only binds from POJO to JSon/XML if the 
content-type is for json or xml. This allows you to specify a custom 
content-type and omit the binding, such as when having binary 
payloads.</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="r
 ect" 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>Camel&#160;<a 
shape="rect" href="exception-clause.html">Exception Clause</a> and&#160;<a 
shape="rect" href="error-handler.html">Error Handler</a> now supports using a 
custom&#160;<code>Processor</code> to be invoked right after an exception was 
thrown using the new&#160;<strong>onExceptionOccurred</strong> 
option.</li><li><a shape="rect" href="rabbitmq.html">RabbitMQ</a> consumer more 
resilient to auto re-connect in case of connection failures</li><li>The&#160;<a 
shape="rect" href="json.html">JSON</a> <code>camel-jackson</code>&#160;can be 
used as a type converter to convert json to/from POJO and String/byte[] types, 
if enabled.</li><li>The&#160;<a shape="rect" href="sql-component.html">SQL 
Component</a> now supports loading the SQL queri
 es from external files on the classpath or file system, where you can format 
the queries using newlines and indenting.</li><li>The&#160;<a shape="rect" 
href="http.html">HTTP</a> and&#160;<a shape="rect" href="http4.html">HTTP4</a> 
producers now support the&#160;<code>disableStreamCache</code> option to allow 
to use the raw response stream as the message body instead of wrapping 
using&#160;<a shape="rect" href="stream-caching.html">Stream 
caching</a></li><li>The <a shape="rect" href="cdi.html">Camel CDI</a> component 
has been improved to better fit into the CDI programming model, cover a larger 
set of containers, and provide these new features:<ul><li>The Camel events from 
the <code>org.apache.camel.management.event</code> package (like 
<code>CamelContextStartedEvent</code>)&#160;can be observed as CDI 
events</li><li>The new CDI event Camel endpoint enable&#160;<span>CDI events to 
be seamlessly consumed from (respectively produced by) Camel consumers 
(respectively Camel producers)</s
 pan></li><li><span><span>CDI beans annotated with 
the&#160;</span><code>@Converter</code><span>&#160;annotation are automatically 
registered as type converters</span></span></li><li><span><span>The CDI Camel 
contexts can be&#160;properly customised programmatically in bean constructor 
or&#160;<code>@PostConstruct</code> lifecycle 
callback</span></span></li><li>Camel routes configured in 
<code>RouteBuilder</code> beans are added before the corresponding Camel 
contexts get started</li><li><span>CDI Camel contexts are now properly adapted 
when deployed in OSGi containers and are registered as OSGi 
services</span></li><li>Proper support of multiple Camel contexts across all 
the features<span><br clear="none"></span></li></ul></li><li>The&#160;<a 
shape="rect" href="xslt.html">XSLT</a> component now supports Saxon's&#160;<a 
shape="rect" class="external-link" 
href="http://www.saxonica.com/html/documentation/extensibility/integratedfunctions";
 rel="nofollow" title="Follow link">integrated ex
 tension functions</a>.</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" hr
 ef="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;<code>camel-blueprint</code> to 
wait for the bundles with the component and data-formats the&#160;<a 
shape="rect" href="rest-dsl.html">Rest DSL</a> has been configured to use, are 
avail
 able before starting Camel.</li><li>Fixed an issue with&#160;<a shape="rect" 
href="error-handler.html">Error Handler</a> would log any handled(true) 
exceptions.</li><li>Fixed a memory leak if adding/removing routes using&#160;<a 
shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> where the 
repository would not be removed from the JMX registry when routes is 
removed.</li><li>Fixed issue with&#160;<a shape="rect" 
href="spring-boot.html">Spring Boot</a> would eager shutdown some Camel 
resources like type converters, which spring-boot should let Camel handle the 
lifecycle of these resources.</li><li>Fixed&#160;<a shape="rect" 
href="cxfrs.html">CXFRS</a> using simple binding mode would use the 
content-length header from the incoming message in the response, instead of 
calculating the length based on the output message body.</li><li>Fixed&#160;<a 
shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> would not 
propagate exception thrown from&#160;<code>Idemp
 otentRepository</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><a shape="rect" 
href="aws-kinesis.html">camel-aws</a> - AWS kinesis streams component 
added</li><li><a shape="rect" href="aws-ddbstream.html">camel-aws</a> - 
DynamoDB streams component added</li><li><a shape="rect" 
href="ignite.html">camel-ignite</a> - for working with Apache 
Ignite.</li><li><a shape="rect" href="mllp.html">camel-mllp</a> -&#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><a 
 shape="rect" href="apache-spark.html">camel-spark</a> - bridges Apache Spark 
computations with Camel endpoints</li><li><a shape="rect" 
href="sql-stored-procedure.html">camel-sql</a> - Now supports calling stored 
procedures using the new <a shape="rect" 
href="sql-stored-procedure.html">sql-stored 
component</a>.</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 
configuration properties.</span></li><li><span>camel-example-cdi-osgi - 
a<span>&#160;CDI application using the SJMS component that can be executed 
inside an OSGi container using PAX 
CDI.</span></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 EI
 P 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><ul><li>As part of the <a 
shape="rect" href="cdi.html">Camel CDI</a> component refactoring:<ul><li>The 
<code>@ContextName</code>&#160;qualifier does not have a default empty value 
anymore as it is irrelevant</li><li>The&#160;CdiPropertiesComponent&#160;class 
has been removed, the standard&#160;PropertiesComponent&#160;can be used 
instead</li></ul></li></ul><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 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>Under
 tow 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><strong>This is the last release 
that will support Java 1.7. Releases after this is expected to require Java 
1.8+.&#160;</strong></li><li>Any custom component that supports suspension in 
doSuspend/doResume should implement the new&#160;<code>Suspendable</code> 
marker interface, so Camel knows there is custom logic for suspension in the 
component.</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>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. Support for Spring 3.x is being 
<strong>removed</strong> in the next release
 .</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="twitter.html">Twitter</a> delay option is changed from seconds to milli 
seconds by default, eg 10 should be 10000 to indicate 10 seconds. This is 
aligned how other components with delay option behaves.&#160;</li><li>The 
options&#160;<code>attributeNames</code> 
and&#160;<code>messageAttributeNames</code> on&#160;<a shape="rect" 
href="aws-sqs.html">AWS-SQS</a> is changed to a string type where you can 
separate multiple values using comma. Before the type was a Collection which 
was much harder to configure in the Camel uris.</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 style="line-height: 
1.42857;">row.</code>&#160;as prefix.<br clear="none">Before: 
<code>family=info&amp;qualifier=firstName&amp;family2=birthdate&amp;qualifier2=year</code>.&#160;After:&#1
 
60;<code>row.family=info&amp;row.qualifier=firstName&amp;row.family2=birthdate&amp;row.qualifier2=year</code>.</li><li>As
 part of the <a shape="rect" href="cdi.html">Camel CDI</a> component 
refactoring,&#160;<em>DeltaSpike</em> is not used anymore for the sourcing of 
the configuration properties. This new version of the component is agnostic to 
any configuration sourcing mechanism and delegates that concern to the 
application so that it can declare a 
custom&#160;<code>PropertiesComponent</code>&#160;bean whose sourcing is 
tailored to its need. <em>DeltaSpike</em> can still be used by the application 
by declaring a&#160;<code>PropertiesComponent</code>&#160;bean configured with 
a&#160;<code>PropertiesParser</code>&#160;relying on <em>DeltaSpike</em>. See 
the&#160;<code>camel-example-cdi-properties</code>&#160;example for more 
details.</li></ul><h2 id="Camel2.17.0Release-GettingtheDistributions">Getting 
the Distributions</h2><h3 id="Camel2.17.0Release-BinaryDistributions">Binary 
Distr
 ibutions</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 shap
 e="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 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="externa
 l-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><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/rest-dsl.html
==============================================================================
--- websites/production/camel/content/rest-dsl.html (original)
+++ websites/production/camel/content/rest-dsl.html Fri Feb 19 19:19:01 2016
@@ -182,7 +182,7 @@
                     .post().to(&quot;mock:update&quot;);
         };
     }]]></script>
-</div></div><p><span style="line-height: 1.4285715;">In the example above, we 
are embedding routes directly in the rest service using .route(). Notice we 
need to use .endRest() to tell Camel where the route ends, so we 
can&#160;<em>go back</em> to the Rest DSL and continue defining REST 
services.</span></p><div class="confluence-information-macro 
confluence-information-macro-tip"><p class="title">Configuring route 
options</p><span class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In the embedded route you can 
configure the route settings such as routeId, autoStartup and various other 
options you can set on routes 
today.</p><pre>.get().route().routeId("myRestRoute").autoStartup(false).transform().constant("Hello
 World");</pre></div></div><h3 id="RestDSL-ManagingRestservices"><span 
style="font-size: 16.0px;line-height: 1.5625;">Managing Rest 
services</span></h3><p>Each of the rest service bec
 omes a Camel route, so in the first example we have 2 x get and 1 x post REST 
service, which each become a Camel route. This makes it&#160;<em>the same</em> 
from Camel to manage and run these services - as they are just Camel routes. 
This means any tooling and API today that deals with Camel routes, also work 
with the REST services.</p><p>This means you can use JMX to stop/start routes, 
and also get the JMX metrics about the routes, such as number of message 
processed, and their performance statistics.</p><p>There is also a Rest 
Registry JMX MBean that contains a registry of all REST services which has been 
defined.&#160;</p><h3 id="RestDSL-BindingtoPOJOsusing">Binding to POJOs 
using</h3><p>The Rest DSL supports automatic binding json/xml contents to/from 
POJOs using Camels&#160;<a shape="rect" href="data-format.html">Data 
Format</a>. By default the binding mode is off, meaning there is no automatic 
binding happening for incoming and outgoing messages.</p><p>You may want to use 
bind
 ing if you develop POJOs that maps to your REST services request and response 
types. This allows you as a developer to work with the POJOs in Java 
code.</p><p>The binding modes are:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh">Binding Mode</th><th colspan="1" rowspan="1" 
class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>off</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Binding is turned off. This is the default 
option.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>auto</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Binding is enabled and Camel is relaxed and support 
json, xml or both if the needed data formats are included in the classpath. 
Notice that if for example <code>camel-jaxb</code> is not on the classpath, 
then XML binding is not enabled.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p
 >json</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Binding 
 >to/from json is enabled, and requires a json capabile data format on the 
 >classpath. By default Camel will use <code>json-jackson</code> as the data 
 >format.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>xml</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Binding to/from xml is enabled, and requires 
 ><code>camel-jaxb</code> on the classpath.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>json_xml</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Biding to/from json and xml is enabled 
 >and requires both data formats to be on the 
 >classpath.</p></td></tr></tbody></table></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>From <strong>Camel 
 >2.14.1</strong> onwards when using c
 amel-jaxb for xml bindings, then you can use the option 
<code>mustBeJAXBElement</code> to relax the output message body must be a class 
with JAXB annotations. You can use this in situations where the message body is 
already in XML format, and you want to use the message body as-is as the output 
type. If that is the case, then set the <span>dataFormatProperty option 
<code>mustBeJAXBElement</code><span> to <code>false</code> 
value.</span></span></p></div></div><p>&#160;</p><p>To use binding you must 
include the necessary data formats on the classpath, such 
as&#160;<code>camel-jaxb</code> and/or&#160;<code>camel-jackson</code>. And 
then enable the binding mode. You can configure the binding mode globally on 
the rest configuration, and then override per rest service as well.</p><p>To 
enable binding you configure this in Java DSL as shown below</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><p><span style="line-height: 1.4285715;">In the example above, we 
are embedding routes directly in the rest service using .route(). Notice we 
need to use .endRest() to tell Camel where the route ends, so we 
can&#160;<em>go back</em> to the Rest DSL and continue defining REST 
services.</span></p><div class="confluence-information-macro 
confluence-information-macro-tip"><p class="title">Configuring route 
options</p><span class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In the embedded route you can 
configure the route settings such as routeId, autoStartup and various other 
options you can set on routes 
today.</p><pre>.get().route().routeId("myRestRoute").autoStartup(false).transform().constant("Hello
 World");</pre></div></div><h3 id="RestDSL-ManagingRestservices"><span 
style="font-size: 16.0px;line-height: 1.5625;">Managing Rest 
services</span></h3><p>Each of the rest service bec
 omes a Camel route, so in the first example we have 2 x get and 1 x post REST 
service, which each become a Camel route. This makes it&#160;<em>the same</em> 
from Camel to manage and run these services - as they are just Camel routes. 
This means any tooling and API today that deals with Camel routes, also work 
with the REST services.</p><p>This means you can use JMX to stop/start routes, 
and also get the JMX metrics about the routes, such as number of message 
processed, and their performance statistics.</p><p>There is also a Rest 
Registry JMX MBean that contains a registry of all REST services which has been 
defined.&#160;</p><h3 id="RestDSL-BindingtoPOJOsusing">Binding to POJOs 
using</h3><p>The Rest DSL supports automatic binding json/xml contents to/from 
POJOs using Camels&#160;<a shape="rect" href="data-format.html">Data 
Format</a>. By default the binding mode is off, meaning there is no automatic 
binding happening for incoming and outgoing messages.</p><p>You may want to use 
bind
 ing if you develop POJOs that maps to your REST services request and response 
types. This allows you as a developer to work with the POJOs in Java 
code.</p><p>The binding modes are:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh">Binding Mode</th><th colspan="1" rowspan="1" 
class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>off</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Binding is turned off. This is the default 
option.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>auto</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Binding is enabled and Camel is relaxed and support 
json, xml or both if the needed data formats are included in the classpath. 
Notice that if for example <code>camel-jaxb</code> is not on the classpath, 
then XML binding is not enabled.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p
 >json</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Binding 
 >to/from json is enabled, and requires a json capabile data format on the 
 >classpath. By default Camel will use <code>json-jackson</code> as the data 
 >format. See the INFO box below for more details.</p></td></tr><tr><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>xml</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Binding to/from xml is enabled, and 
 >requires <code>camel-jaxb</code> on the classpath. <span>See the INFO box 
 >below for more details.</span></p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>json_xml</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Biding to/from json and xml is enabled and requires 
 >both data formats to be on the classpath. <span>See the INFO box below for 
 >more details.</span></p></td></tr></tbody></table></div><div 
 >class="confluence-information-macro confluence-information-macro-tip"><span 
 >class="aui-icon aui-icon-small aui-iconfont-approv
 e confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From <strong>Camel 2.14.1</strong> 
onwards when using camel-jaxb for xml bindings, then you can use the option 
<code>mustBeJAXBElement</code> to relax the output message body must be a class 
with JAXB annotations. You can use this in situations where the message body is 
already in XML format, and you want to use the message body as-is as the output 
type. If that is the case, then set the <span>dataFormatProperty option 
<code>mustBeJAXBElement</code><span> to <code>false</code> 
value.</span></span></p></div></div><div class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From&#160;<strong>Camel 
2.16.3</strong>&#160;onwards the binding from POJO to JSon/JAXB will only 
happen if the&#160;<code>content-type</code>&#160;header 
 includes the 
word&#160;<code>json</code>&#160;or&#160;<code>xml</code>&#160;representatively.
 This allows you to specify a custom content-type if the message body should 
not attempt to be marshalled using the binding. For example if the message body 
is a custom binary payload etc.</p></div></div><p><span style="line-height: 
1.42857;">To use binding you must include the necessary data formats on the 
classpath, such as&#160;</span><code style="line-height: 
1.42857;">camel-jaxb</code><span style="line-height: 1.42857;"> 
and/or&#160;</span><code style="line-height: 
1.42857;">camel-jackson</code><span style="line-height: 1.42857;">. And then 
enable the binding mode. You can configure the binding mode globally on the 
rest configuration, and then override per rest service as well.</span></p><p>To 
enable binding you configure this in Java DSL as shown below</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[restConfiguration().component(&quot;restlet&quot;).host(&quot;localhost&quot;).port(portNum).bindingMode(RestBindingMode.auto);]]></script>
 </div></div><p>And in XML DSL</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[    &lt;restConfiguration 
bindingMode=&quot;auto&quot; component=&quot;restlet&quot; 
port=&quot;8080&quot;/&gt;]]></script>


Reply via email to