Author: buildbot
Date: Tue Jun 2 13:18:38 2015
New Revision: 953577
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/camel-2160-release.html
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/camel-2160-release.html
==============================================================================
--- websites/production/camel/content/camel-2160-release.html (original)
+++ websites/production/camel/content/camel-2160-release.html Tue Jun 2
13:18:38 2015
@@ -84,7 +84,7 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1
id="Camel2.16.0Release-Camel2.16.0release(currentlyinprogress)">Camel
2.16.0 release (currently in progress)</h1><div
style="padding-right:20px;float:left;margin-left:-20px;"><p><img
class="confluence-embedded-image confluence-external-resource"
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"></p></div><div
style="min-height:200px"> </div><h2
id="Camel2.16.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to
the 2.16.0 release which approx XXX issues resolved (new features, improvements
and bug fixes such as...)</p><p>Noteworthy improvements:</p><ul><li>The route
models (definition classes) preserve property placeholders, which allows round
trip editing, and also prevents showing potential sensitive
information</li><li>Added onPrepareFailure option to <a shape="rect"
href="dead-letter-channel.html">Dead Letter Ch
annel</a> to allow a custom processor to prepare the Exchange before sending
to the dead letter queue.</li><li><a shape="rect"
href="mongodb.html">MongoDB</a> tailable consumers now allow setting the
<code>readPreference</code> option.</li><li>Using setFaultBody / setFaultHeader
behaves similar to setBody / setHeader to preserve existing headers/attachments
by setting on existing IN or OUT message.</li><li>Java DSL using choice with
end vs endChoice now validates you use them as intended. Any misconfiguration
now throws an exception explaining the problem.</li><li><a shape="rect"
href="pojo-producing.html">POJO Producing</a> and <a shape="rect"
href="pojo-consuming.html">POJO Consuming</a> lifecycle is now in sync with <a
shape="rect" href="camelcontext.html">CamelContext</a> which ensures it
works as similar to Camel <a shape="rect" href="routes.html">Routes</a>
does. Also the created producer/consumer is stopped when <a shape="rect"
href="camelcontext.html">Cam
elContext</a> is stopping to cleanup properly.</li><li><a shape="rect"
href="jms.html">JMS</a> component now allows configuring
concurrentConsumers/maxConcurrentConsumers separately between from(jms) vs
to(jms) using request/reply over JMS</li><li><span><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8506">Added SEARCH</a>
operation to Elasticsearch component</span></li><li><span>The <a
shape="rect" href="properties.html">Properties</a> component (property
placeholder) now supports an encoding option to allow reading the .properties
files using a specific charset such as UTF-8. By default ISO-8859-1 is used
(latin1)</span></li><li><span>Added <code>receviveBufferSize</code> option
to the <a shape="rect" href="ftp.html">FTP</a> component to make download
faster. The size is by default 32kb buffer.</span></li><li><span>The <a
shape="rect" href="aggregator2.html">Aggregator2</a> EIP now allows an external
source usin
g a <code>AggregateController</code> to control the aggregator, such as
for forcing completing a group or all groups, or query runtime information from
the aggregator. A default controller is provided out of the box if none has
been configured.</span></li><li><span>The <a shape="rect"
href="aggregator2.html">Aggregator2</a> now enlists in JMX using
a <code>ManagedAggregateProcessorMBean</code> which has more information,
and also allows using the aggregate controller to control
it.</span></li><li><span>The <a shape="rect"
href="aggregator2.html">Aggregator2</a> now includes more runtime statistics
which can be accessed from Java and JMX about number of incoming and completed
exchanges, and per different completion
triggers.</span></li><li><span>The <a shape="rect"
href="aggregator2.html">Aggregator2</a> now supports pre-completion mode if the
aggregation strategy
implements <code>PreCompletionAwareAggregationStrategy</code>. This
supports the use-case w
here an incoming Exchange are used to determine if the current aggregated
group is completed or not. If completed the group is emitted as-is, and the new
incoming Exchange is used to start a new group from
scratch.</span></li><li><span>Added options to <a shape="rect"
href="mail.html">Mail</a> consumer so it can skip or handle a mail message that
cannot be read from the mail server in the batch; and then move on to read the
next message. This ensures the consumer can deal with mail boxes that has
problematic mails that otherwise will cause no mails to be retrieve by the
consumer in the batch.</span></li><li>The runtime route processors and their
corresponding model definition are now linked by their id using
<code>HasId</code>, so its easier to obtain the processor or model definition
from the <code>getProcessor(id)</code> and
<code>getProcessorDefintion(id)</code> api on
CamelContext.</li><li>CamelContext now also includes a getManagedProcessor API
to easily get the
mbean client api for the processor, so you can access the runtime JMX
statistics from Java code. </li><li><span><a shape="rect"
href="spring-boot.html">Spring Boot</a> applications now <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8532">block the main thread
of the execution</a></span></li><li><span><a shape="rect"
href="spring-boot.html">Spring Boot</a> automagically <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8523">loads XML routes
definitions</a> from
classpath</span></li><li><span>Added <code>MainListener</code> to make it
easier for Camel Boot / Standalone Camel to implement custom logic to trigger
during the starting and stopping of the
application.</span></li><li><span><span>Camel Jackson now provides <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8554"><code>Map</code> to
<code>Object</code> converter</a></span></span></li><li><span>Ability
to refer to existing hazelcast instance by id, using <a shape="rect"
href="hazelcast-component.html">Hazelcast Component</a></span></li><li><a
shape="rect" href="direct.html">Direct</a> and <a shape="rect"
href="direct-vm.html">Direct-VM</a> now supports
the <span>failIfNoConsumers option</span></li><li>Making it easier to add
custom <a shape="rect" href="type-converter.html">Type Converter</a> to
your Camel applications without having to use the META-INF file. In Spring or
Blueprint just add them as <bean>s. See more details at <a
shape="rect" href="type-converter.html">Type Converter</a>
documentation.</li><li>camel-cxf PAYLOAD supports stream cache out of
box.</li><li><p><code>BridgePropertyPlaceholderConfigurer</code> supports to
handle the <span><a shape="rect" href="jasypt.html">jasypt </a>encryption
inside and outside of the camelContext.</span></p></li><li><p>The camel-aws
component now support Amazon DynamoDB version 2<span><br clear="none"><
/span></p></li><li><p>The <a shape="rect" href="wire-tap.html">Wire
Tap</a> eip now also emits event notifications when sending the Exchange to the
wire tap destination</p></li><li><a shape="rect" href="camel-test.html">Camel
Test</a> has new option isDumpRouteStats that dumps all route usage statistics
as XML files in target/camel-route-stats directory, which can be used to
inspect "route coverage" reports.</li><li>Now <a shape="rect"
href="netty4.html">Camel Netty</a> component doesn't intercept consumers with
<code>httpMethodRestrict=OPTIONS</code></li><li><span>Now <a shape="rect"
href="netty4-http.html">Netty HTTP</a> resolves OPTIONS prefix matches
earlier</span></li><li>Using <a shape="rect"
href="load-balancer.html">Load Balancer</a> with Java DSL now builds the route
model using the specific model types, which renders a more accurate route
model</li><li>Enhanced the PredicateBuilder to support vargs and list in the
"or" builder method</li><li>Using custom <co
de>HttpBinding</code> with <a shape="rect" href="http.html">HTTP</a>
and <a shape="rect" href="http4.html">HTTP4</a> is now easier as they can
be instantiated using a default no-arg
constructor</li><li>Added <code>readLock=idempotent</code> to the <a
shape="rect" href="file2.html">File2</a> consumer which allows to reuse an
idempotent repository as read-lock which enables Camel to run reliable in
clustered mode, where each node competes for the same files from a shared file
system. This requires that the idempotent repository supports clustering such
as <a shape="rect" href="hazelcast-component.html">Hazelcast Component</a>
or <a shape="rect" href="infinispan.html">Infinispan</a> - or using the
JDBC for a shared database table.</li><li><a shape="rect" href="rx.html">Camel
RX</a> now ensures that observe and subscribe are done within an unit of work
to ensure on completions is executed, such as they are done when you use
regular Camel routes.</li><li>The
 <a shape="rect" href="jms.html">JMS</a> component now includes the
underlying <code>javax.jms.Session</code> instance on the Camel message
which allows end users to easier to use client acknowledge mode, in case the
client wants to use the session to call recover or rollback.</li><li>Added
<code>completionEager</code> option to <a shape="rect"
href="idempotent-consumer.html">Idempotent Consumer</a> to whether to complete
the idempotent consumer eager or when the exchange is done.</li><li>Working
with the Camel source code in Eclipse with m2eclipse plugin improved to avoid
endless file changed detection and recompile the source.</li><li>Add
option <code>suppressExceptions</code> to <a shape="rect"
href="jsonpath.html">JSonPath</a> which allows to ignore exceptions such as
NoSuchPathException when the json payload does not contain the path defined in
the json expression.</li></ul><p>Fixed the following issues:</p><ul><li>File
language now properly s
upports file extensions having double dots, such as .tar.gz</li><li>Fixed
issue with doTry not stopping routing if a fault message was set using
setFaultBody within the doTry.</li><li>Fixed <a shape="rect"
href="bean.html">Bean</a> language to support end parenthesis in quoted
string literals as part of method parameters, and not as end of method
signature. </li><li>Fixed <a shape="rect" href="ftp2.html">FTP2</a>
using <code>pollEnrich</code> with disconnect=true and delete=true, would
disconnect before deleting the file. Now we disconnect last.</li><li>Various
EIPs such as <a shape="rect" href="splitter.html">Splitter</a>, <a
shape="rect" href="recipient-list.html">Recipient List</a>, <a
shape="rect" href="multicast.html">Multicast</a> no longer reuse message id in
their sub messages, but each sub message has its own unique message id (just as
the exchange has).</li><li>Fixed an issue with the circuit breaker <a
shape="rect" href="load-b
alancer.html">Load Balancer</a> not honoring the half open after period after
an error was detected.</li><li>Fixed <a shape="rect"
href="ftp2.html">FTP2</a> now calling disconnect if there was no messages to
poll, even when disconnect=true configured.</li><li>Fixed <a shape="rect"
href="throttler.html">Throttler</a> using method call expression in XML DSL was
not working</li><li>Fixed stopping a route may stop context
scoped OnException that would otherwise send message to an endpoint, now
been stopped and an IllegalStateException was thrown while handling the
exception.</li><li>Fixed using a <a shape="rect"
href="load-balancer.html">Load Balancer</a> from a context
scoped onException may double up its processors participating in the
balancer per route in the
context.</li><li>Fixed <code>parallelAggregate</code> on
multicast/splitter/recipient list to use a thread pool for running
concurrently. </li><li>Fixed <a shape="rect" href="stream-cachi
ng.html">Stream caching</a> to not delete data that was spooled to disk before
both exchanges are done routing.</li><li>Fixed <a shape="rect"
href="defaulterrorhandler.html">DefaultErrorHandler</a> to use 1 sec redelivery
delay out of the box as the other error handlers does. </li><li>Fixed
setting <code>logExhaustedMessageHistory=true</code> on <a
shape="rect" href="dead-letter-channel.html">Dead Letter Channel</a> to log the
message history. This option is by default false on DLC as it would be as
before (not noisy).</li><li>Fixed double refresh of the parent Spring Boot
Application Context</li><li>Fixed configuring endpoint uri's with primitive
types when the value is looked up in the registry using #notation would not
work.</li><li>Fixed using transacted in the Scala DSL</li></ul><h3
id="Camel2.16.0Release-New">New <a shape="rect"
href="enterprise-integration-patterns.html">Enterprise Integration
Patterns</a></h3><h3 id="Camel2.16.0Release-New.1">New <a shape
="rect" href="components.html">Components</a></h3><ul><li><a shape="rect"
href="paho.html">camel-paho</a> - For MQTT messaging using Eclipse Paho
client</li><li>camel-pdf - For creating PDF documents</li><li><a shape="rect"
href="grape.html">camel-grape</a> - allows you to fetch, load and manage
additional jars when CamelContext is running.</li><li>camel-slack - allows
you to connect to an instance of Slack and delivers a message contained in
the message body via a pre established Slack incoming webhook.</li></ul><h3
id="Camel2.16.0Release-NewDSL">New DSL</h3><h3
id="Camel2.16.0Release-NewAnnotations">New Annotations</h3><h3
id="Camel2.16.0Release-NewDataFormats">New <a shape="rect"
href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect"
href="boon.html">camel-boon</a> - For mapping POJO to/from json</li></ul><h3
id="Camel2.16.0Release-New.2">New <a shape="rect"
href="languages.html">Languages</a></h3><h3 id="Camel2.16.0Release-New.3">New
<a shape="r
ect" href="examples.html">Examples</a></h3><h3
id="Camel2.16.0Release-New.4">New <a shape="rect"
href="tutorials.html">Tutorials</a></h3><h2
id="Camel2.16.0Release-APIbreaking">API breaking</h2><ul><li><p
class="p1"> org.apache.camel.mode.LoadBalancerDefinition no longer
implements org.apache.camel.processor.loadbalancer.LoadBalancer which is
the runtime processor (this was never
intended).</p></li><li>The <code>ref</code> attribute
on <code><loadBalance></code> has been removed, as it has been
deprecated for a long time, and you should use
a <code><customLoadBalancer></code> to refer to a custom load
balancer.</li><li>The <code>copy</code> method
on <code>StreamCache</code> now takes an <code>Exchange</code> as
parameter.</li><li>Various APIs in <code>camel-jms</code> has been
adjusted to support including the JMS session parameter -
<code>javax.jms.Session</code>. Though these API changes are mostly internal
facing, and we d
o not expect end users problems.</li></ul><h2
id="Camel2.16.0Release-KnownIssues">Known Issues</h2><h2
id="Camel2.16.0Release-Dependencyupgrades">Dependency
upgrades</h2><ul><li>Amazon Web Service Java SDK from 1.8.9.1 to
1.9.38</li><li>Apache JClouds from 1.8.1 to 1.9.0</li><li>Apache Olingo Odata
from 2.0.0 to 2.0.3</li><li>Apns from 0.2.3 to 1.0.0.Beta6</li><li>AspectJ from
1.6.2 to 1.8.5</li><li>Async-http-client from 1.9.8 to 1.9.17</li><li>Cassandra
from 2.1.2 to 2.1.5</li><li><p>Cassandra Datastax Java Driver from 2.1.2 to
2.1.6</p></li><li>DNSJava from 2.1.6 to 2.1.7</li><li>Docker-java from 0.10.5
to 1.2.0</li><li>Dropbox core Java SDK from 1.7.6 to 1.7.7</li><li>Dropwizard
Metrics from 3.1.0 to 3.1.2</li><li>Ehcache from 2.9.1 to
2.10.0</li><li>Facebook4j from 1.1.12 to 2.2.2</li><li>Freemarker from 2.3.21
to 2.3.22</li><li>Google App Engine from 1.8.3 to 1.9.19 </li><li>Gson
from 3.2 to 3.2.1</li><li>iCal4j from 1.5.0.2 to 1.6.0</li><li>Infinispan from
6.0.2.Final to
7.2.0.Final</li><li><span>Jackson2 from 2.4.3 to
2.5.1</span></li><li><span>Jboss Weld from 2.2.4.Final to
2.2.11.Final </span></li><li><span>Jsch from 0.1.51 to
0.1.52</span></li><li>Jsonpath from 1.2.0 to 2.0.0</li><li>Kafka from 0.8.1.1
to 0.8.2.0</li><li>LightCouch from 0.1.3 to 0.1.6</li><li>MongoDB Java Driver
from 2.12.4 to 3.0.1</li><li>MongoDB test harness from 1.46.4 to
1.47.3</li><li>Mvel2 from 2.2.1.Final to 2.2.4.Final</li><li>OGNL from 3.0.8 to
3.0.11</li><li>OpenEJB from 4.6.0.2 to 4.7.1</li><li>OpenJPA from 2.3.0 to
2.4.0</li><li>Openshift Java Client 2.5.0.Final to 2.7.0.Final</li><li>PDFBox
from 1.6.0 to 1.8.9</li><li>Restlet from 2.2.x to 2.3.1<span><br
clear="none"></span></li><li>SLF4J from 1.7.10 to 1.7.12</li><li>Snakeyaml from
1.14 to 1.15</li><li>Spring upgrades</li><li>Sshd from 0.13.0 to
0.14.0</li><li>TestNG from 6.8.8 to 6.8.21</li><li>Twitter4J from 4.0.2 to
4.0.3</li><li>XStream from 1.4.7 to 1.4.8</li></ul><h2
id="Camel2.16.0Release-Importantcha
ngestoconsiderwhenupgrading">Important changes to consider when
upgrading</h2><ul><li>The dumpRoutesAsXml operation now preserve property
placeholder used in the route models. </li><li>Using setFaultBody /
setFaultHeader behaves similar to setBody / setHeader to preserve existing
headers/attachments by setting on existing IN or OUT message.</li><li>If using
concurrent consumer on <a shape="rect"
href="jms.html">JMS</a> endpoints for request/reply over JMS then you must
use the new replyToConcurrentConsumers, replyToMaxConcurrentConsumers options
to configure the values. </li><li>When the <a shape="rect"
href="aggregator2.html">Aggregator2</a> is forced completed the exchange
property <code>Exchange.AGGREGATED_COMPLETED_BY</code> value has been
changed from "forceCompletion" to "force" so its named like the other
completion triggers.</li><li>Removed unsupported modules camel-web and
camel-web-standalone.</li><li>Removed unsupported camel:dot functionalit
y from camel:run plugin.</li><li>Removed unsupported
camel-archetype-scala-component from maven archetypes.</li><li>The Maven
coordinate for linkedin and olingo2 components changed to be aligned like all
the others having groupId as just org.apache.camel.</li><li>If using MongoDB
component, the option<em> invokeGetLastError</em> doesn't exist anymore. The
option invokeGetLastError instructs the MongoDB Java driver to invoke
<em>getLastError()</em> after every call. In the 3.0.0 MongoDB driver
implementation, the <em>getLastError()</em> method in WriteResult has been
removed. So, if needed, use an acknowledged WriteConcern when executing the
write operation and then verify the correctness of the operation with the
method <em>wasAcknowledged()</em> of WriteResult.</li><li>The <a
shape="rect" href="jing.html">Jing</a> component now
uses <code>jing</code> as schema name in uris, instead
of <code>rng</code> or <code>rnc</code>. Those names has been
removed.</li></ul><
h2 id="Camel2.16.0Release-GettingtheDistributions">Getting the
Distributions</h2><h3 id="Camel2.16.0Release-BinaryDistributions">Binary
Distributions</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Windows
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" class="external-link"
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.16.0/apache-camel-2.16.0.zip">apache-camel-2.16.0.zip</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link"
href="http://www.apache.org/dist/camel/apache-camel/2.16.0/apache-camel-2.16.0.zip.asc">apache-camel-2.16.0.zip.asc</a></p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" class="external-link"
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.16.0/apache-camel-2.16.0.tar.gz">apache-camel-2.16.0.tar.gz</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link"
href="http://www.apache.org/dist/camel/apache-camel/2.16.0/apache-camel-2.16.0.tar.gz.asc">apache-camel-2.16.0.tar.gz.asc</a></p></td></tr></tbody></table></div>
<div class="aui-message hint shadowed information-macro">
+<div class="wiki-content maincontent"><h1
id="Camel2.16.0Release-Camel2.16.0release(currentlyinprogress)">Camel
2.16.0 release (currently in progress)</h1><div
style="padding-right:20px;float:left;margin-left:-20px;"><p><img
class="confluence-embedded-image confluence-external-resource"
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"></p></div><div
style="min-height:200px"> </div><h2
id="Camel2.16.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to
the 2.16.0 release which approx XXX issues resolved (new features, improvements
and bug fixes such as...)</p><p>Noteworthy improvements:</p><ul><li>The route
models (definition classes) preserve property placeholders, which allows round
trip editing, and also prevents showing potential sensitive
information</li><li>Added onPrepareFailure option to <a shape="rect"
href="dead-letter-channel.html">Dead Letter Ch
annel</a> to allow a custom processor to prepare the Exchange before sending
to the dead letter queue.</li><li><a shape="rect"
href="mongodb.html">MongoDB</a> tailable consumers now allow setting the
<code>readPreference</code> option.</li><li>Using setFaultBody / setFaultHeader
behaves similar to setBody / setHeader to preserve existing headers/attachments
by setting on existing IN or OUT message.</li><li>Java DSL using choice with
end vs endChoice now validates you use them as intended. Any misconfiguration
now throws an exception explaining the problem.</li><li><a shape="rect"
href="pojo-producing.html">POJO Producing</a> and <a shape="rect"
href="pojo-consuming.html">POJO Consuming</a> lifecycle is now in sync with <a
shape="rect" href="camelcontext.html">CamelContext</a> which ensures it
works as similar to Camel <a shape="rect" href="routes.html">Routes</a>
does. Also the created producer/consumer is stopped when <a shape="rect"
href="camelcontext.html">Cam
elContext</a> is stopping to cleanup properly.</li><li><a shape="rect"
href="jms.html">JMS</a> component now allows configuring
concurrentConsumers/maxConcurrentConsumers separately between from(jms) vs
to(jms) using request/reply over JMS</li><li><span><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8506">Added SEARCH</a>
operation to Elasticsearch component</span></li><li><span>The <a
shape="rect" href="properties.html">Properties</a> component (property
placeholder) now supports an encoding option to allow reading the .properties
files using a specific charset such as UTF-8. By default ISO-8859-1 is used
(latin1)</span></li><li><span>Added <code>receviveBufferSize</code> option
to the <a shape="rect" href="ftp.html">FTP</a> component to make download
faster. The size is by default 32kb buffer.</span></li><li><span>The <a
shape="rect" href="aggregator2.html">Aggregator2</a> EIP now allows an external
source usin
g a <code>AggregateController</code> to control the aggregator, such as
for forcing completing a group or all groups, or query runtime information from
the aggregator. A default controller is provided out of the box if none has
been configured.</span></li><li><span>The <a shape="rect"
href="aggregator2.html">Aggregator2</a> now enlists in JMX using
a <code>ManagedAggregateProcessorMBean</code> which has more information,
and also allows using the aggregate controller to control
it.</span></li><li><span>The <a shape="rect"
href="aggregator2.html">Aggregator2</a> now includes more runtime statistics
which can be accessed from Java and JMX about number of incoming and completed
exchanges, and per different completion
triggers.</span></li><li><span>The <a shape="rect"
href="aggregator2.html">Aggregator2</a> now supports pre-completion mode if the
aggregation strategy
implements <code>PreCompletionAwareAggregationStrategy</code>. This
supports the use-case w
here an incoming Exchange are used to determine if the current aggregated
group is completed or not. If completed the group is emitted as-is, and the new
incoming Exchange is used to start a new group from
scratch.</span></li><li><span>Added options to <a shape="rect"
href="mail.html">Mail</a> consumer so it can skip or handle a mail message that
cannot be read from the mail server in the batch; and then move on to read the
next message. This ensures the consumer can deal with mail boxes that has
problematic mails that otherwise will cause no mails to be retrieve by the
consumer in the batch.</span></li><li>The runtime route processors and their
corresponding model definition are now linked by their id using
<code>HasId</code>, so its easier to obtain the processor or model definition
from the <code>getProcessor(id)</code> and
<code>getProcessorDefintion(id)</code> api on
CamelContext.</li><li>CamelContext now also includes a getManagedProcessor API
to easily get the
mbean client api for the processor, so you can access the runtime JMX
statistics from Java code. </li><li><span><a shape="rect"
href="spring-boot.html">Spring Boot</a> applications now <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8532">block the main thread
of the execution</a></span></li><li><span><a shape="rect"
href="spring-boot.html">Spring Boot</a> automagically <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8523">loads XML routes
definitions</a> from
classpath</span></li><li><span>Added <code>MainListener</code> to make it
easier for Camel Boot / Standalone Camel to implement custom logic to trigger
during the starting and stopping of the
application.</span></li><li><span><span>Camel Jackson now provides <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-8554"><code>Map</code> to
<code>Object</code> converter</a></span></span></li><li><span>Ability
to refer to existing hazelcast instance by id, using <a shape="rect"
href="hazelcast-component.html">Hazelcast Component</a></span></li><li><a
shape="rect" href="direct.html">Direct</a> and <a shape="rect"
href="direct-vm.html">Direct-VM</a> now supports
the <span>failIfNoConsumers option</span></li><li>Making it easier to add
custom <a shape="rect" href="type-converter.html">Type Converter</a> to
your Camel applications without having to use the META-INF file. In Spring or
Blueprint just add them as <bean>s. See more details at <a
shape="rect" href="type-converter.html">Type Converter</a>
documentation.</li><li>camel-cxf PAYLOAD supports stream cache out of
box.</li><li><p><code>BridgePropertyPlaceholderConfigurer</code> supports to
handle the <span><a shape="rect" href="jasypt.html">jasypt </a>encryption
inside and outside of the camelContext.</span></p></li><li><p>The camel-aws
component now support Amazon DynamoDB version 2<span><br clear="none"><
/span></p></li><li><p>The <a shape="rect" href="wire-tap.html">Wire
Tap</a> eip now also emits event notifications when sending the Exchange to the
wire tap destination</p></li><li><a shape="rect" href="camel-test.html">Camel
Test</a> has new option isDumpRouteStats that dumps all route usage statistics
as XML files in target/camel-route-stats directory, which can be used to
inspect "route coverage" reports.</li><li>Now <a shape="rect"
href="netty4.html">Camel Netty</a> component doesn't intercept consumers with
<code>httpMethodRestrict=OPTIONS</code></li><li><span>Now <a shape="rect"
href="netty4-http.html">Netty HTTP</a> resolves OPTIONS prefix matches
earlier</span></li><li>Using <a shape="rect"
href="load-balancer.html">Load Balancer</a> with Java DSL now builds the route
model using the specific model types, which renders a more accurate route
model</li><li>Enhanced the PredicateBuilder to support vargs and list in the
"or" builder method</li><li>Using custom <co
de>HttpBinding</code> with <a shape="rect" href="http.html">HTTP</a>
and <a shape="rect" href="http4.html">HTTP4</a> is now easier as they can
be instantiated using a default no-arg
constructor</li><li>Added <code>readLock=idempotent</code> to the <a
shape="rect" href="file2.html">File2</a> consumer which allows to reuse an
idempotent repository as read-lock which enables Camel to run reliable in
clustered mode, where each node competes for the same files from a shared file
system. This requires that the idempotent repository supports clustering such
as <a shape="rect" href="hazelcast-component.html">Hazelcast Component</a>
or <a shape="rect" href="infinispan.html">Infinispan</a> - or using the
JDBC for a shared database table.</li><li><a shape="rect" href="rx.html">Camel
RX</a> now ensures that observe and subscribe are done within an unit of work
to ensure on completions is executed, such as they are done when you use
regular Camel routes.</li><li>The
 <a shape="rect" href="jms.html">JMS</a> component now includes the
underlying <code>javax.jms.Session</code> instance on the Camel message
which allows end users to easier to use client acknowledge mode, in case the
client wants to use the session to call recover or rollback.</li><li>Added
<code>completionEager</code> option to <a shape="rect"
href="idempotent-consumer.html">Idempotent Consumer</a> to whether to complete
the idempotent consumer eager or when the exchange is done.</li><li>Working
with the Camel source code in Eclipse with m2eclipse plugin improved to avoid
endless file changed detection and recompile the source.</li><li>Add
option <code>suppressExceptions</code> to <a shape="rect"
href="jsonpath.html">JSonPath</a> which allows to ignore exceptions such as
NoSuchPathException when the json payload does not contain the path defined in
the json expression.</li></ul><p>Fixed the following issues:</p><ul><li>File
language now properly s
upports file extensions having double dots, such as .tar.gz</li><li>Fixed
issue with doTry not stopping routing if a fault message was set using
setFaultBody within the doTry.</li><li>Fixed <a shape="rect"
href="bean.html">Bean</a> language to support end parenthesis in quoted
string literals as part of method parameters, and not as end of method
signature. </li><li>Fixed <a shape="rect" href="ftp2.html">FTP2</a>
using <code>pollEnrich</code> with disconnect=true and delete=true, would
disconnect before deleting the file. Now we disconnect last.</li><li>Various
EIPs such as <a shape="rect" href="splitter.html">Splitter</a>, <a
shape="rect" href="recipient-list.html">Recipient List</a>, <a
shape="rect" href="multicast.html">Multicast</a> no longer reuse message id in
their sub messages, but each sub message has its own unique message id (just as
the exchange has).</li><li>Fixed an issue with the circuit breaker <a
shape="rect" href="load-b
alancer.html">Load Balancer</a> not honoring the half open after period after
an error was detected.</li><li>Fixed <a shape="rect"
href="ftp2.html">FTP2</a> now calling disconnect if there was no messages to
poll, even when disconnect=true configured.</li><li>Fixed <a shape="rect"
href="throttler.html">Throttler</a> using method call expression in XML DSL was
not working</li><li>Fixed stopping a route may stop context
scoped OnException that would otherwise send message to an endpoint, now
been stopped and an IllegalStateException was thrown while handling the
exception.</li><li>Fixed using a <a shape="rect"
href="load-balancer.html">Load Balancer</a> from a context
scoped onException may double up its processors participating in the
balancer per route in the
context.</li><li>Fixed <code>parallelAggregate</code> on
multicast/splitter/recipient list to use a thread pool for running
concurrently. </li><li>Fixed <a shape="rect" href="stream-cachi
ng.html">Stream caching</a> to not delete data that was spooled to disk before
both exchanges are done routing.</li><li>Fixed <a shape="rect"
href="defaulterrorhandler.html">DefaultErrorHandler</a> to use 1 sec redelivery
delay out of the box as the other error handlers does. </li><li>Fixed
setting <code>logExhaustedMessageHistory=true</code> on <a
shape="rect" href="dead-letter-channel.html">Dead Letter Channel</a> to log the
message history. This option is by default false on DLC as it would be as
before (not noisy).</li><li>Fixed double refresh of the parent Spring Boot
Application Context</li><li>Fixed configuring endpoint uri's with primitive
types when the value is looked up in the registry using #notation would not
work.</li><li>Fixed using transacted in the Scala DSL</li></ul><h3
id="Camel2.16.0Release-New">New <a shape="rect"
href="enterprise-integration-patterns.html">Enterprise Integration
Patterns</a></h3><h3 id="Camel2.16.0Release-New.1">New <a shape
="rect" href="components.html">Components</a></h3><ul><li><a shape="rect"
href="paho.html">camel-paho</a> - For MQTT messaging using Eclipse Paho
client</li><li>camel-pdf - For creating PDF documents</li><li><a shape="rect"
href="grape.html">camel-grape</a> - allows you to fetch, load and manage
additional jars when CamelContext is running.</li><li>camel-slack - allows
you to connect to an instance of Slack and delivers a message contained in
the message body via a pre established Slack incoming
webhook.</li><li>camel-aws-ec2 - Component providing support to Amazon Web
Services EC2 </li></ul><h3 id="Camel2.16.0Release-NewDSL">New DSL</h3><h3
id="Camel2.16.0Release-NewAnnotations">New Annotations</h3><h3
id="Camel2.16.0Release-NewDataFormats">New <a shape="rect"
href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect"
href="boon.html">camel-boon</a> - For mapping POJO to/from json</li></ul><h3
id="Camel2.16.0Release-New.2">New <a shape="rect" href
="languages.html">Languages</a></h3><h3 id="Camel2.16.0Release-New.3">New <a
shape="rect" href="examples.html">Examples</a></h3><h3
id="Camel2.16.0Release-New.4">New <a shape="rect"
href="tutorials.html">Tutorials</a></h3><h2
id="Camel2.16.0Release-APIbreaking">API breaking</h2><ul><li><p
class="p1"> org.apache.camel.mode.LoadBalancerDefinition no longer
implements org.apache.camel.processor.loadbalancer.LoadBalancer which is
the runtime processor (this was never
intended).</p></li><li>The <code>ref</code> attribute
on <code><loadBalance></code> has been removed, as it has been
deprecated for a long time, and you should use
a <code><customLoadBalancer></code> to refer to a custom load
balancer.</li><li>The <code>copy</code> method
on <code>StreamCache</code> now takes an <code>Exchange</code> as
parameter.</li><li>Various APIs in <code>camel-jms</code> has been
adjusted to support including the JMS session parameter - <code>ja
vax.jms.Session</code>. Though these API changes are mostly internal facing,
and we do not expect end users problems.</li></ul><h2
id="Camel2.16.0Release-KnownIssues">Known Issues</h2><h2
id="Camel2.16.0Release-Dependencyupgrades">Dependency
upgrades</h2><ul><li>Amazon Web Service Java SDK from 1.8.9.1 to
1.9.38</li><li>Apache JClouds from 1.8.1 to 1.9.0</li><li>Apache Olingo Odata
from 2.0.0 to 2.0.3</li><li>Apns from 0.2.3 to 1.0.0.Beta6</li><li>AspectJ from
1.6.2 to 1.8.5</li><li>Async-http-client from 1.9.8 to 1.9.17</li><li>Cassandra
from 2.1.2 to 2.1.5</li><li><p>Cassandra Datastax Java Driver from 2.1.2 to
2.1.6</p></li><li>DNSJava from 2.1.6 to 2.1.7</li><li>Docker-java from 0.10.5
to 1.2.0</li><li>Dropbox core Java SDK from 1.7.6 to 1.7.7</li><li>Dropwizard
Metrics from 3.1.0 to 3.1.2</li><li>Ehcache from 2.9.1 to
2.10.0</li><li>Facebook4j from 1.1.12 to 2.2.2</li><li>Freemarker from 2.3.21
to 2.3.22</li><li>Google App Engine from 1.8.3 to 1.9.19 </li><li>Gson
from 3.2
to 3.2.1</li><li>iCal4j from 1.5.0.2 to 1.6.0</li><li>Infinispan from
6.0.2.Final to 7.2.0.Final</li><li><span>Jackson2 from 2.4.3 to
2.5.1</span></li><li><span>Jboss Weld from 2.2.4.Final to
2.2.11.Final </span></li><li><span>Jsch from 0.1.51 to
0.1.52</span></li><li>Jsonpath from 1.2.0 to 2.0.0</li><li>Kafka from 0.8.1.1
to 0.8.2.0</li><li>LightCouch from 0.1.3 to 0.1.6</li><li>MongoDB Java Driver
from 2.12.4 to 3.0.1</li><li>MongoDB test harness from 1.46.4 to
1.47.3</li><li>Mvel2 from 2.2.1.Final to 2.2.4.Final</li><li>OGNL from 3.0.8 to
3.0.11</li><li>OpenEJB from 4.6.0.2 to 4.7.1</li><li>OpenJPA from 2.3.0 to
2.4.0</li><li>Openshift Java Client 2.5.0.Final to 2.7.0.Final</li><li>PDFBox
from 1.6.0 to 1.8.9</li><li>Restlet from 2.2.x to 2.3.1<span><br
clear="none"></span></li><li>SLF4J from 1.7.10 to 1.7.12</li><li>Snakeyaml from
1.14 to 1.15</li><li>Spring upgrades</li><li>Sshd from 0.13.0 to
0.14.0</li><li>TestNG from 6.8.8 to 6.8.21</li><li>Twitter4J from 4.0.2 to 4.0.3
</li><li>XStream from 1.4.7 to 1.4.8</li></ul><h2
id="Camel2.16.0Release-Importantchangestoconsiderwhenupgrading">Important
changes to consider when upgrading</h2><ul><li>The dumpRoutesAsXml operation
now preserve property placeholder used in the route models. </li><li>Using
setFaultBody / setFaultHeader behaves similar to setBody / setHeader to
preserve existing headers/attachments by setting on existing IN or OUT
message.</li><li>If using concurrent consumer on <a shape="rect"
href="jms.html">JMS</a> endpoints for request/reply over JMS then you must
use the new replyToConcurrentConsumers, replyToMaxConcurrentConsumers options
to configure the values. </li><li>When the <a shape="rect"
href="aggregator2.html">Aggregator2</a> is forced completed the exchange
property <code>Exchange.AGGREGATED_COMPLETED_BY</code> value has been
changed from "forceCompletion" to "force" so its named like the other
completion triggers.</li><li>Removed unsupported modules c
amel-web and camel-web-standalone.</li><li>Removed unsupported camel:dot
functionality from camel:run plugin.</li><li>Removed unsupported
camel-archetype-scala-component from maven archetypes.</li><li>The Maven
coordinate for linkedin and olingo2 components changed to be aligned like all
the others having groupId as just org.apache.camel.</li><li>If using MongoDB
component, the option<em> invokeGetLastError</em> doesn't exist anymore. The
option invokeGetLastError instructs the MongoDB Java driver to invoke
<em>getLastError()</em> after every call. In the 3.0.0 MongoDB driver
implementation, the <em>getLastError()</em> method in WriteResult has been
removed. So, if needed, use an acknowledged WriteConcern when executing the
write operation and then verify the correctness of the operation with the
method <em>wasAcknowledged()</em> of WriteResult.</li><li>The <a
shape="rect" href="jing.html">Jing</a> component now
uses <code>jing</code> as schema name in uris, instead of
0;<code>rng</code> or <code>rnc</code>. Those names has been
removed.</li></ul><h2 id="Camel2.16.0Release-GettingtheDistributions">Getting
the Distributions</h2><h3 id="Camel2.16.0Release-BinaryDistributions">Binary
Distributions</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Windows
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" class="external-link"
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.16.0/apache-camel-2.16.0.zip">apache-camel-2.16.0.zip</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.1
6.0/apache-camel-2.16.0.zip.asc">apache-camel-2.16.0.zip.asc</a></p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" class="external-link"
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.16.0/apache-camel-2.16.0.tar.gz">apache-camel-2.16.0.tar.gz</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link"
href="http://www.apache.org/dist/camel/apache-camel/2.16.0/apache-camel-2.16.0.tar.gz.asc">apache-camel-2.16.0.tar.gz.asc</a></p></td></tr></tbody></table></div>
<div class="aui-message hint shadowed information-macro">
<p class="title">The above URLs use redirection</p>
<span class="aui-icon icon-hint">Icon</span>
<div class="message-content">