Author: buildbot
Date: Fri Feb 19 13:19:57 2016
New Revision: 980778
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/sql-stored-procedure.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
13:19:57 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"> </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 <a shape="rect" href="spring-boot.html">Spring
>Boot</a></li><li>Many improvements to Camel <a shape="rect"
>href="kura.html">Kura</a></li><li>Added transacted option to <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 <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. </li><li>The <code>include</code>
>and <code>exclude</code> options on <a shape="rect"
>href="file2.html">File2</a> and <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 <a shape="rect" href="xslt.html">XSLT</a>, <a
>shape="rect" href="velocity.html">Velocity</a>
0;etc can load the resource file from the <a shape="rect"
href="registry.html">Registry</a> by using <code>ref:</code> as
prefix.</li><li><span>Upgraded camel-amqp to the latest qpid-jms-client (also
AMQP < 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 <a shape="rect"
href="metrics-component.html">Metrics Component</a> allows to capture <a
shape="rect" href="message-history.html">Message History</a> performance
statistics with
the <code>MetricsMessageHistoryFactory </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 <a shape="rect"
href="elasticsearch.html">Elasticsearch Component</a> now supports
MultiGet operation</li><li>The <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 <code>setHeader</code>
and <code>setExchangeProperty</code> allows to use a dynamic header key
using the <a shape="rect" href="simple.html">Simple</a> language if
the name of the key is a <a shape="rect"
href="simple.html">Simple</a> language expression.</li><li>Add collate
function to <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 <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 <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 <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 <a shape="rect" href="splitter.html">Splitter</a>
EIP.</li><li>The <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 <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 sensitive details from message
bodies.</li><li>Cam
el <a shape="rect" href="exception-clause.html">Exception Clause</a>
and <a shape="rect" href="error-handler.html">Error Handler</a> now
supports using a custom <code>Processor</code> to be invoked right after
an exception was thrown using the new <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 <a
shape="rect" href="json.html">JSON</a> <code>camel-jackson</code> can be
used as a type converter to convert json to/from POJO and String/byte[] types,
if enabled.</li><li>The <a shape="rect" href="http.html">HTTP</a>
and <a shape="rect" href="http4.html">HTTP4</a> producers now support
the <code>disableStreamCache</code> option to allow to use the raw
response stream as the message body instead of wrapping using <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>) can be observed as CDI
events</li><li>The new CDI event Camel endpoint enable <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 </span><code>@Converter</code><span> annotation are
automatically registered as type
converters</span></span></li><li><span><span>The CDI Camel contexts can
be properly customised programmatically in bean constructor
or <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 starte
d</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 <a shape="rect"
href="xslt.html">XSLT</a> component now supports Saxon's <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 <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 <a shape="rect"
href="rest-dsl.html">Rest DSL</a> with 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 <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 <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 <a
shape="rect" href="swagger-java.html">Swagger Java</a></li><li>Fixed
using <code>statement.xxx</code> options on the <a shape="rect"
href="jdbc.html">JDBC</a> consumer would only be used in first
poll.</li><li>Fixed  <a shape="rect"
href="http.html">HTTP</a> and <a shape="rect"
href="http4.html">HTTP4</a> to keep trailing slash if provided in uri when
calling remote HTTP service.</li><li>Fixed <a shape="rect"
href="oncompletion.html">OnCompletion</a> to keep any caught exception stored
as property on the <code>Exchange</code> which allows to access that
information to know if ther
e was an exception during routing.</li><li>Fixed an issue with <a
shape="rect" href="bean.html">Bean</a> component or <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 <code>camel-blueprint</code> to wait for the
bundles with the component and data-formats the <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 <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 <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 <a shape="rect"
href="spring-boot.html">Spring Boot</a> would eage
r shutdown some Camel resources like type converters, which spring-boot should
let Camel handle the lifecycle of these resources.</li><li>Fixed <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 <a
shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> would not
propagate exception thrown from <code>IdempotentRepository</code> to
Camel's <a shape="rect" href="error-handler.html">Error Handler</a> such
as <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 sha
pe="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> - <span
style="color: rgb(0,0,0);">for working with the HL7 MLLP protocol. This is an
alternative to <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. </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 - <span>illustrates the
integration between Camel, DeltaSpike and CDI for configuration
properties.</span></li><li><span>camel-example-cdi-osgi - a<span> 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 - <sp
an>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 <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> qualifier does not have a default empty value
anymore as it is irrelevant</li><li>The CdiPropertiesComponent class
has been removed, the standard PropertiesComponent 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</l
i><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>This is the last release
that will support Java 1.7. Releases after this is expected to require Java
1.8+. </strong></li><li>Any custom component that supports suspension in
doSuspend/doResume should implement the new <cod
e>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. </li><li>camel-spring-integration feature has been removed
from the Camel karaf.</li><li>The <a shape="rect"
href="mail.html">Mail</a> component now requires to configure to, cc, and bcc
using lower case keys, eg [email protected], instead of <a shape="rect"
class="externa
l-link" href="mailto:[email protected]"
rel="nofollow">[email protected]</a> as previously.</li><li>The <a
shape="rect" href="file2.html">File</a> consumer no longer probe the file
content by default. See the option <code>probeContentType</code> for more
details.</li><li>If using <a shape="rect"
href="bean.html">Bean</a> or <a shape="rect"
href="class.html">Class</a> 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> is now
<code>bean.foo=123</code>.</li><li>The <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. </li><li>The
options <code>attributeNames</code>
and <code>messageAttributeNames</code> on <a shape="rect"
href="aws-sqs.h
tml">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 <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> as
prefix.<br clear="none">Before:
<code>family=info&qualifier=firstName&family2=birthdate&qualifier2=year</code>. After: <code>row.family=info&row.qualifier=firstName&row.family2=birthdate&row.qualifier2=year</code>.</li><li>As
part of the <a shape="rect" href="cdi.html">Camel CDI</a> component
refactoring, <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 <code>Propertie
sComponent</code> bean whose sourcing is tailored to its need.
<em>DeltaSpike</em> can still be used by the application by declaring
a <code>PropertiesComponent</code> bean configured with
a <code>PropertiesParser</code> relying on <em>DeltaSpike</em>. See
the <code>camel-example-cdi-properties</code> 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="e
xternal-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"
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><t
d 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 shap
e="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"> </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 <a shape="rect" href="spring-boot.html">Spring
>Boot</a></li><li>Many improvements to Camel <a shape="rect"
>href="kura.html">Kura</a></li><li>Added transacted option to <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 <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. </li><li>The <code>include</code>
>and <code>exclude</code> options on <a shape="rect"
>href="file2.html">File2</a> and <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 <a shape="rect" href="xslt.html">XSLT</a>, <a
>shape="rect" href="velocity.html">Velocity</a>
0;etc can load the resource file from the <a shape="rect"
href="registry.html">Registry</a> by using <code>ref:</code> as
prefix.</li><li><span>Upgraded camel-amqp to the latest qpid-jms-client (also
AMQP < 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 <a shape="rect"
href="metrics-component.html">Metrics Component</a> allows to capture <a
shape="rect" href="message-history.html">Message History</a> performance
statistics with
the <code>MetricsMessageHistoryFactory </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 <a shape="rect"
href="elasticsearch.html">Elasticsearch Component</a> now supports
MultiGet operation</li><li>The <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 <code>setHeader</code>
and <code>setExchangeProperty</code> allows to use a dynamic header key
using the <a shape="rect" href="simple.html">Simple</a> language if
the name of the key is a <a shape="rect"
href="simple.html">Simple</a> language expression.</li><li>Add collate
function to <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 <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 <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 <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 <a shape="rect" href="splitter.html">Splitter</a>
EIP.</li><li>The <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 <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 sensitive details from message
bodies.</li><li>Cam
el <a shape="rect" href="exception-clause.html">Exception Clause</a>
and <a shape="rect" href="error-handler.html">Error Handler</a> now
supports using a custom <code>Processor</code> to be invoked right after
an exception was thrown using the new <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 <a
shape="rect" href="json.html">JSON</a> <code>camel-jackson</code> can be
used as a type converter to convert json to/from POJO and String/byte[] types,
if enabled.</li><li>The <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 <a shape="rect" href="http.html">HTTP</a>
and <a shape="rect" href="http4.html">HTTP4</a> producers now support
the <code>disableStreamCache</code> option to allow to use the raw
response stream as the message body instead of wrapping using <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>) can be observed as CDI
events</li><li>The new CDI event Camel endpoint enable <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 </span><code>@Converter</code><span> annotation are
automatically registered as type
converters</span></span></li><li><span><span>The CDI Camel contexts can
be properly customised pro
grammatically in bean constructor or <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 <a
shape="rect" href="xslt.html">XSLT</a> component now supports Saxon's <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 <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 <a shape="rect" href="rest-dsl.html">Rest DSL</a>
with 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 <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 <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 <a
shape="rect" href="swagger-java.html">Swagger Java</a></li><li>Fixed
using <code>statement.xxx</code> options on the <a shape="rect"
href="jdbc.html">JDBC</a> consumer would only be used in first
poll.</li><li>Fixed  <a shape="rect"
href="http.html">HTTP</a> and <a shape="rect"
href="http4.html">HTTP4</a> to keep trailing slash if provided in uri when
calling remot
e HTTP service.</li><li>Fixed <a shape="rect"
href="oncompletion.html">OnCompletion</a> to keep any caught exception stored
as property on the <code>Exchange</code> which allows to access that
information to know if there was an exception during routing.</li><li>Fixed an
issue with <a shape="rect" href="bean.html">Bean</a> component or <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 <code>camel-blueprint</code> to
wait for the bundles with the component and data-formats the <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 <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 <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 <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 <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 <a
shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> would not
propagate exception thrown from <code>IdempotentRepository</code> to
Camel's <a shape="rect" href="error-handler.html">Error Handler</a> such
as <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> - <span
style="color: rgb(0,0,0);">for working with the HL7 MLLP protocol. This is an
alternative to <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. </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 - <span>illustrates the
integration between Camel, DeltaSpike and CDI for configuration properties.<
/span></li><li><span>camel-example-cdi-osgi - a<span> 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
- <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 <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> qualifier does not have a default empty value
anymore as it is irrelevant</li><li>The CdiPropertiesComponent class
has been removed, the standard PropertiesComponent 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+. </strong></li><li>Any custom component that
supports suspension in doSuspend/doResume should implement the
new <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. </li><li>camel-spring-integration feature has been
removed from the Camel karaf.</li><li>The <a shape="rect"
href="mail.html">Mail</a> component now requires to configure to, cc, and bcc
using lower case keys, eg [email protected], instead of <a shape="rect"
class="external-link" href="mailto:[email protected]"
rel="nofollow">[email protected]</a> as previously.</li><li>The <a
shape="rect" href="file2.html">File</a> consumer no longer probe the file
content by default. See the option <code>probeContentType</code> for more
details.</li><li>If using <a shape="rect"
href="bean.html">Bean</a> or <a shape="rect"
href="class.html">Class</a> 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> is now
<code>bean.foo=123</code>.</li><li>The <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. </li><li>The options <code>attributeNames</code>
and <code>messageAttributeNames</code> on <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 <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> as prefix.<br clear="none">Before:
<code>family=info&qualifier=firstName&family2=birthdate&qualifier2=year</code>. After: <code>row.family=info&row.qualifier=firstName&row.family2=birthdate&row.qualifier2=year</code>.</li><li>As
part of the <a shape="rect" href="cdi.html">Camel CDI</a> component
refactoring, <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 <code>PropertiesComponent</code> bean whose sourcing is
tailored to its need. <em>DeltaSpike</em> can still be used by the application
by declaring a <code>PropertiesComponent</code> bean configured with
a <code>PropertiesParser</code> relying on <em>DeltaSpike</em>. See
the <code>camel-example-cdi-properties</code> 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">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
Modified: websites/production/camel/content/sql-stored-procedure.html
==============================================================================
--- websites/production/camel/content/sql-stored-procedure.html (original)
+++ websites/production/camel/content/sql-stored-procedure.html Fri Feb 19
13:19:57 2016
@@ -96,7 +96,15 @@
</div></div><h3 id="SQLStoredProcedure-URIformat">URI format</h3><p>The SQL
component uses the following endpoint URI notation:</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[sql-stored:template[?options]
]]></script>
-</div></div><p>Where template is the stored procedure template, where you
declare the name of the stored procedure and the IN and OUT
arguments. </p><p>You can append query options to the URI in the following
format, <code>?option=value&option=value&...</code></p><h3
id="SQLStoredProcedure-Options">Options</h3><div
class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>batch</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>
Enables or disables batch mode</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>dataSource</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>string</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Reference to a <code>DataSource</code> to look up in
the registry.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>noop</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>If set will ignore the results of the
template and use the existing IN message as the OUT message for the
continuation of processing</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>outputHeader</code></td><td colspan="1" rowspan="1"
class="confluenceTd"><code>string</
code></td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td
colspan="1" rowspan="1" class="confluenceTd">Store the template result in a
header instead of the message body. By default outputHeader == null and the
template result is stored in the message body any existing content in the
message body is discarded. If outputHeader is set the value is used as the name
of the header to store the template result and the original message body is
preserved.</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>useMessageBodyForTemplate</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1"
rowspan="1" class="confluenceTd">Whether to use the message body as the
template and then headers for parameters. If this option is enabled then the
template in the uri is not used.</td></tr></tbody></table></div></div><h3
id="SQLStoredProcedure-Declaringthestore
dproceduretemplate">Declaring the stored procedure template</h3><p>The
template is declared using a syntax that would be similar to a Java method
signature. The name of the stored procedure, and then the arguments enclosed in
parenthesis. An example explains this well:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where template is the stored procedure template, where you
declare the name of the stored procedure and the IN and OUT
arguments. </p><p>You can also refer to the template in a external file on
the file system or classpath such as:</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[sql-stored:classpath:sql/myprocedure.sql[?options]]]></script>
+</div></div><p>Where sql/myprocedure.sql is a plain text file in the classpath
with the template, as show:</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[SUBNUMBERS(
+ INTEGER ${headers.num1},
+ INTEGER ${headers.num2},
+ OUT INTEGER resultofsub
+)]]></script>
+</div></div><p> </p><p>You can append query options to the URI in the
following format, <code>?option=value&option=value&...</code></p><h3
id="SQLStoredProcedure-Options">Options</h3><div
class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>batch</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Enables or disables batch
mode</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>dataSource</code></p></
td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>string</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Reference to a <code>DataSource</code> to look up in
the registry.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>noop</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>If set will ignore the results of the
template and use the existing IN message as the OUT message for the
continuation of processing</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>outputHeader</code></td><td colspan="1" rowspan="1"
class="confluenceTd"><code>string</code></td><td colspan="1" rowspan="1"
class="confluenceTd"> </td><td colspan="1" rowspan="1"
class="confluenceTd">Store the
template result in a header instead of the message body. By default
outputHeader == null and the template result is stored in the message body any
existing content in the message body is discarded. If outputHeader is set the
value is used as the name of the header to store the template result and the
original message body is preserved.</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>useMessageBodyForTemplate</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>boolean</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1"
rowspan="1" class="confluenceTd">Whether to use the message body as the
template and then headers for parameters. If this option is enabled then the
template in the uri is not used.</td></tr></tbody></table></div></div><h3
id="SQLStoredProcedure-Declaringthestoredproceduretemplate">Declaring the
stored procedure template</h3><p>The template is declared using a syntax that
would be similar
to a Java method signature. The name of the stored procedure, and then the
arguments enclosed in parenthesis. An example explains this well:</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[<to
uri="sql-stored:SUBNUMBERS(INTEGER ${headers.num1},INTEGER
${headers.num2},OUT INTEGER resultofsub)"/>]]></script>
</div></div><p>The arguments is declared by a type and then the mapping to the
Camel message using simple expression. So in this example the first two
parameters are IN values that are INTEGER type, that maps to the message
headers. The last parameter is the OUT value, also an INTEGER type.</p><p>In
SQL term the stored procedure could be declared as:</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[CREATE PROCEDURE SUBNUMBERS(VALUE1 INTEGER,
VALUE2 INTEGER,OUT RESULT INTEGER)]]></script>