Author: buildbot
Date: Sat May 30 10:19:57 2015
New Revision: 953200

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2160-release.html
    websites/production/camel/content/jsonpath.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 Sat May 30 
10:19:57 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&#160;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">&#160;</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&#160;<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&#160;<a shape="rect" 
href="pojo-consuming.html">POJO Consuming</a> lifecycle is now in sync with <a 
shape="rect" href="camelcontext.html">CamelContext</a>&#160;which ensures it 
works as similar to Camel&#160;<a shape="rect" href="routes.html">Routes</a> 
does. Also the created producer/consumer is stopped when&#160;<a shape="rect" 
href="camelcontext.html">Cam
 elContext</a>&#160;is stopping to cleanup properly.</li><li><a shape="rect" 
href="jms.html">JMS</a>&#160;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&#160;<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&#160;<code>receviveBufferSize</code> option 
to the <a shape="rect" href="ftp.html">FTP</a>&#160;component to make download 
faster. The size is by default 32kb buffer.</span></li><li><span>The&#160;<a 
shape="rect" href="aggregator2.html">Aggregator2</a> EIP now allows an external 
source usin
 g a&#160;<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&#160;<a shape="rect" 
href="aggregator2.html">Aggregator2</a> now enlists in JMX using 
a&#160;<code>ManagedAggregateProcessorMBean</code> which has more information, 
and also allows using the aggregate controller to control 
it.</span></li><li><span>The&#160;<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&#160;<a shape="rect" 
href="aggregator2.html">Aggregator2</a> now supports pre-completion mode if the 
aggregation strategy 
implements&#160;<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&#160;<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>&#160;and 
<code>getProcessorDefintion(id)</code>&#160;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.&#160;</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&#160;<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&#160;<a shape="rect" 
href="hazelcast-component.html">Hazelcast Component</a></span></li><li><a 
shape="rect" href="direct.html">Direct</a> and&#160;<a shape="rect" 
href="direct-vm.html">Direct-VM</a> now supports 
the&#160;<span>failIfNoConsumers option</span></li><li>Making it easier to add 
custom&#160;<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 &lt;bean&gt;s. See more details at&#160;<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&#160;<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&#160;<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&#160;<co
 de>HttpBinding</code> with&#160;<a shape="rect" href="http.html">HTTP</a> 
and&#160;<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&#160;<code>readLock=idempotent</code> to the&#160;<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&#160;<a shape="rect" href="hazelcast-component.html">Hazelcast Component</a> 
or&#160;<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
 &#160;<a shape="rect" href="jms.html">JMS</a>&#160;component now includes the 
underlying&#160;<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>&#160;option to&#160;<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></ul><p>Fixed the 
following issues:</p><ul><li>File language now properly supports 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&#160;<a shape="rect" 
href="bean.html">Bean</a>&#160;language to su
 pport end parenthesis in quoted string literals as part of method parameters, 
and not as end of method signature.&#160;</li><li>Fixed&#160;<a shape="rect" 
href="ftp2.html">FTP2</a> using&#160;<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&#160;<a shape="rect" 
href="splitter.html">Splitter</a>,&#160;<a shape="rect" 
href="recipient-list.html">Recipient List</a>,&#160;<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&#160;<a 
shape="rect" href="load-balancer.html">Load Balancer</a> not honoring the half 
open after period after an error was detected.</li><li>Fixed&#160;<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&#160;<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&#160;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&#160;<a shape="rect" 
href="load-balancer.html">Load Balancer</a> from a context 
scoped&#160;onException may double up its processors participating in the 
balancer per route in the 
context.</li><li>Fixed&#160;<code>parallelAggregate</code> on 
multicast/splitter/recipient list to use a thread pool for running 
concurrently.&#160;</li><li>Fixed&#160;<a shape="rect" 
href="stream-caching.html">Stream caching</a> to not delete data that was 
spooled to disk before both exchanges are done routing.</li><li>Fixed&#160;<a 
shape="rect" href="defaulterrorhandler.html">DefaultErrorHandler</a> to use 1 
sec redelivery delay out of the box as the o
 ther error handlers does.&#160;</li><li>Fixed 
setting&#160;<code>logExhaustedMessageHistory=true</code> on&#160;<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>&#160;- For MQTT messaging using Eclipse Paho 
client</li><li>camel-pdf - For creating PDF documents</li><li><a shape="rect" 
href="grape.html">camel-gra
 pe</a> -&#160;allows you to fetch, load and manage additional jars when 
CamelContext is running.</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">&#160;org.apache.camel.mode.LoadBalancerDefinition no longer 
implements org.apache.camel.processor.loadbalancer.LoadBalancer&#160;which is 
the runtime processor (this was never intended).</p></li><li>The&#160;<code>re
 f</code> attribute on&#160;<code>&lt;loadBalance&gt;</code> has been removed, 
as it has been deprecated for a long time, and you should use 
a&#160;<code>&lt;customLoadBalancer&gt;</code> to refer to a custom load 
balancer.</li><li>The&#160;<code>copy</code> method 
on&#160;<code>StreamCache</code> now takes an&#160;<code>Exchange</code> as 
parameter.</li><li>Various APIs in&#160;<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 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.34</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 t
 o 1.9.17</li><li>Cassandra from 2.1.2 to 2.1.4</li><li><p>Cassandra Datastax 
Java Driver from 2.1.2 to 2.1.5</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.1</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&#160;</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>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.0</li><li>MongoDB test harness from 1.46.4 to 1.47.2</li><li>Mvel2 from 
2.2.1.Final to 2.2.4.Final</li><li>OGNL from 3.0.8 to 3.0.9</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>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.&#160;</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&#160;<a shape="rect" 
href="jms.html">JMS</a>&#160;endpoints for request/reply over JMS then you must 
use the new replyToConcurrentConsumers, replyToMaxConcurrentConsumers options 
to configur
 e the values.&#160;</li><li>When the&#160;<a shape="rect" 
href="aggregator2.html">Aggregator2</a> is forced completed the exchange 
property&#160;<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 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 remov
 ed. 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&#160;<a shape="rect" 
href="jing.html">Jing</a> component now uses&#160;<code>jing</code> as schema 
name in uris, instead of&#160;<code>rng</code> or&#160;<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" cla
 ss="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 clas
 s="aui-message hint shadowed information-macro">
+<div class="wiki-content maincontent"><h1 
id="Camel2.16.0Release-Camel2.16.0release(currentlyinprogress)">Camel 
2.16.0&#160;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">&#160;</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&#160;<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&#160;<a shape="rect" 
href="pojo-consuming.html">POJO Consuming</a> lifecycle is now in sync with <a 
shape="rect" href="camelcontext.html">CamelContext</a>&#160;which ensures it 
works as similar to Camel&#160;<a shape="rect" href="routes.html">Routes</a> 
does. Also the created producer/consumer is stopped when&#160;<a shape="rect" 
href="camelcontext.html">Cam
 elContext</a>&#160;is stopping to cleanup properly.</li><li><a shape="rect" 
href="jms.html">JMS</a>&#160;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&#160;<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&#160;<code>receviveBufferSize</code> option 
to the <a shape="rect" href="ftp.html">FTP</a>&#160;component to make download 
faster. The size is by default 32kb buffer.</span></li><li><span>The&#160;<a 
shape="rect" href="aggregator2.html">Aggregator2</a> EIP now allows an external 
source usin
 g a&#160;<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&#160;<a shape="rect" 
href="aggregator2.html">Aggregator2</a> now enlists in JMX using 
a&#160;<code>ManagedAggregateProcessorMBean</code> which has more information, 
and also allows using the aggregate controller to control 
it.</span></li><li><span>The&#160;<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&#160;<a shape="rect" 
href="aggregator2.html">Aggregator2</a> now supports pre-completion mode if the 
aggregation strategy 
implements&#160;<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&#160;<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>&#160;and 
<code>getProcessorDefintion(id)</code>&#160;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.&#160;</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&#160;<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&#160;<a shape="rect" 
href="hazelcast-component.html">Hazelcast Component</a></span></li><li><a 
shape="rect" href="direct.html">Direct</a> and&#160;<a shape="rect" 
href="direct-vm.html">Direct-VM</a> now supports 
the&#160;<span>failIfNoConsumers option</span></li><li>Making it easier to add 
custom&#160;<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 &lt;bean&gt;s. See more details at&#160;<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&#160;<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&#160;<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&#160;<co
 de>HttpBinding</code> with&#160;<a shape="rect" href="http.html">HTTP</a> 
and&#160;<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&#160;<code>readLock=idempotent</code> to the&#160;<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&#160;<a shape="rect" href="hazelcast-component.html">Hazelcast Component</a> 
or&#160;<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
 &#160;<a shape="rect" href="jms.html">JMS</a>&#160;component now includes the 
underlying&#160;<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>&#160;option to&#160;<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&#160;<code>suppressExceptions</code> to&#160;<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&#160;<a shape="rect" 
href="bean.html">Bean</a>&#160;language to support end parenthesis in quoted 
string literals as part of method parameters, and not as end of method 
signature.&#160;</li><li>Fixed&#160;<a shape="rect" href="ftp2.html">FTP2</a> 
using&#160;<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&#160;<a shape="rect" href="splitter.html">Splitter</a>,&#160;<a 
shape="rect" href="recipient-list.html">Recipient List</a>,&#160;<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&#160;<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&#160;<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&#160;<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&#160;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&#160;<a shape="rect" 
href="load-balancer.html">Load Balancer</a> from a context 
scoped&#160;onException may double up its processors participating in the 
balancer per route in the 
context.</li><li>Fixed&#160;<code>parallelAggregate</code> on 
multicast/splitter/recipient list to use a thread pool for running 
concurrently.&#160;</li><li>Fixed&#160;<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&#160;<a shape="rect" 
href="defaulterrorhandler.html">DefaultErrorHandler</a> to use 1 sec redelivery 
delay out of the box as the other error handlers does.&#160;</li><li>Fixed 
setting&#160;<code>logExhaustedMessageHistory=true</code> on&#160;<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>&#160;- 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> -&#160;allows you to fetch, load and manage 
additional jars when CamelContext is running.</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">&#160;org.apache.camel.mode.LoadBalancerDefinition no longer 
implements org.apache.camel.processor.loadbalancer.LoadBalancer&#160;which is 
the runtime processor (this was never 
intended).</p></li><li>The&#160;<code>ref</code> attribute 
on&#160;<code>&lt;loadBalance&gt;</code> has been removed, as it has been 
deprecated for a long time, and you should use 
a&#160;<code>&lt;customLoadBalancer&gt;</code> to refer to a custom load 
balancer.</li><li>The&#160;<code>copy</code> method 
on&#160;<code>StreamCache</code> now takes an&#160;<code>Exchange</code> as 
parameter.</li><li>Various APIs in&#160;<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 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.34</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.4</li><li><p>Cassandra Datastax Java Driver from 2.1.2 to 
 >2.1.5</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.1</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&#160;</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>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.0</li><li>MongoDB test harness from 1.46.4 to 
1.47.2</li><li>Mvel2 from 2.2.1.Final to 2.2.4.Final</li><li>OGNL from 3.0.8 to 
3.0.9</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>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.&#160;</li><li>Using 
setFaultBody / setFaultHeader behaves similar to setBody / setHeader to 
preserve existing headers/attachments by setting on ex
 isting IN or OUT message.</li><li>If using concurrent consumer on&#160;<a 
shape="rect" href="jms.html">JMS</a>&#160;endpoints for request/reply over JMS 
then you must use the new replyToConcurrentConsumers, 
replyToMaxConcurrentConsumers options to configure the 
values.&#160;</li><li>When the&#160;<a shape="rect" 
href="aggregator2.html">Aggregator2</a> is forced completed the exchange 
property&#160;<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 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> 
invokeGetLastEr
 ror</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&#160;<a shape="rect" href="jing.html">Jing</a> 
component now uses&#160;<code>jing</code> as schema name in uris, instead 
of&#160;<code>rng</code> or&#160;<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" cl
 ass="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
 cols
 pan="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">

Modified: websites/production/camel/content/jsonpath.html
==============================================================================
--- websites/production/camel/content/jsonpath.html (original)
+++ websites/production/camel/content/jsonpath.html Sat May 30 10:19:57 2015
@@ -85,14 +85,8 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="JSonPath-JSonPath">JSonPath</h2>
-<p><strong>Available as of Camel 2.13</strong></p>
-
-<p>Camel supports <a shape="rect" class="external-link" 
href="https://code.google.com/p/json-path/"; rel="nofollow">JSonPath</a> to 
allow using <a shape="rect" href="expression.html">Expression</a> or <a 
shape="rect" href="predicate.html">Predicate</a> on json messages.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-from(&quot;queue:books.new&quot;)
+<div class="wiki-content maincontent"><h2 
id="JSonPath-JSonPath">JSonPath</h2><p><strong>Available as of Camel 
2.13</strong></p><p>Camel supports <a shape="rect" class="external-link" 
href="https://code.google.com/p/json-path/"; rel="nofollow">JSonPath</a> to 
allow using <a shape="rect" href="expression.html">Expression</a> or <a 
shape="rect" href="predicate.html">Predicate</a> on json messages.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;queue:books.new&quot;)
   .choice()
     .when().jsonpath(&quot;$.store.book[?(@.price &lt; 10)]&quot;)
       .to(&quot;jms:queue:book.cheap&quot;)
@@ -101,15 +95,8 @@ from(&quot;queue:books.new&quot;)
     .otherwise()
       .to(&quot;jms:queue:book.expensive&quot;)
 ]]></script>
-</div></div>
-
-<h3 id="JSonPath-UsingXMLconfiguration">Using XML configuration</h3>
-
-<p>If you prefer to configure your routes in your <a shape="rect" 
href="spring.html">Spring</a> XML file then you can use <a shape="rect" 
href="jsonpath.html">JSonPath</a> expressions as follows</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-  &lt;camelContext id=&quot;camel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><h3 id="JSonPath-UsingXMLconfiguration">Using XML 
configuration</h3><p>If you prefer to configure your routes in your <a 
shape="rect" href="spring.html">Spring</a> XML file then you can use <a 
shape="rect" href="jsonpath.html">JSonPath</a> expressions as follows</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[  &lt;camelContext id=&quot;camel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
     &lt;route&gt;
       &lt;from uri=&quot;direct:start&quot;/&gt;
       &lt;choice&gt;
@@ -128,22 +115,31 @@ from(&quot;queue:books.new&quot;)
     &lt;/route&gt;
   &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-<h3 id="JSonPath-Syntax">Syntax</h3>
-
-<p>See the <a shape="rect" class="external-link" 
href="https://code.google.com/p/json-path/"; rel="nofollow">JSonPath</a> project 
page for further examples.</p>
-
-
-<h2 id="JSonPath-JSonPathinjection">JSonPath injection </h2>
-
-<p>You can use <a shape="rect" href="bean-integration.html">Bean 
Integration</a> to invoke a method on a bean and use various languages such as 
JSonPath to extract a value from the message and bind it to a method 
parameter.</p>
-
-<p>For example</p>
+</div></div><h3 id="JSonPath-Syntax">Syntax</h3><p>See the <a shape="rect" 
class="external-link" href="https://code.google.com/p/json-path/"; 
rel="nofollow">JSonPath</a> project page for further examples.</p><h2 
id="JSonPath-Suppressexceptions">Suppress exceptions</h2><p><strong>Available 
as of Camel 2.16</strong></p><p>By default jsonpath will throw an exception if 
the json payload does not have a valid path accordingly to the configured 
jsonpath expression. In some use-cases you may want to ignore this in case the 
json payload contains optional data. Therefore you can set the option 
suppressExceptions to true to ignore this as shown:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
+    .choice()
+        // use true to suppress exceptions
+        .when().jsonpath(&quot;person.middlename&quot;, true)
+            .to(&quot;mock:middle&quot;)
+        .otherwise()
+            .to(&quot;mock:other&quot;);]]></script>
+</div></div><p><span style="line-height: 1.4285715;">And in XML 
DSL:</span></p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[    &lt;route&gt;
+      &lt;from uri=&quot;direct:start&quot;/&gt;
+      &lt;choice&gt;
+        &lt;when&gt;
+          &lt;jsonpath 
suppressExceptions=&quot;true&quot;&gt;person.middlename&lt;/jsonpath&gt;
+          &lt;to uri=&quot;mock:middle&quot;/&gt;
+        &lt;/when&gt;
+        &lt;otherwise&gt;
+          &lt;to uri=&quot;mock:other&quot;/&gt;
+        &lt;/otherwise&gt;
+      &lt;/choice&gt;
+    &lt;/route&gt;
 
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-public class Foo {
+]]></script>
+</div></div><p>&#160;</p><p>This option is also available on 
the&#160;<code>@JsonPath</code>&#160;annotation.</p><h2 
id="JSonPath-JSonPathinjection">JSonPath injection</h2><p>You can use <a 
shape="rect" href="bean-integration.html">Bean Integration</a> to invoke a 
method on a bean and use various languages such as JSonPath to extract a value 
from the message and bind it to a method parameter.</p><p>For example</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[public class Foo {
        
     @Consume(uri = &quot;activemq:queue:books.new&quot;)
     public void doSomething(@JsonPath(&quot;$.store.book[*].author&quot;) 
String author, @Body String json) {
@@ -151,17 +147,8 @@ public class Foo {
     }
 }
 ]]></script>
-</div></div>
-
-<h3 id="JSonPath-Dependencies">Dependencies</h3>
-
-<p>To use JSonPath in your camel routes you need to add the a dependency on 
<strong>camel-jsonpath</strong> which implements the JSonPath language. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, 
substituting the version number for the latest &amp; greatest release (see <a 
shape="rect" href="download.html">the download page for the latest 
versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="JSonPath-Dependencies">Dependencies</h3><p>To use JSonPath 
in your camel routes you need to add the a dependency on 
<strong>camel-jsonpath</strong> which implements the JSonPath 
language.</p><p>If you use maven you could just add the following to your 
pom.xml, substituting the version number for the latest &amp; greatest release 
(see <a shape="rect" href="download.html">the download page for the latest 
versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-jsonpath&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;


Reply via email to