You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2016/09/13 16:18:52 UTC
svn commit: r997313 - in /websites/production/camel/content:
backlogdebugger.html cache/main.pageCache jsonpath.html
Author: buildbot
Date: Tue Sep 13 16:18:52 2016
New Revision: 997313
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/backlogdebugger.html
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/jsonpath.html
Modified: websites/production/camel/content/backlogdebugger.html
==============================================================================
--- websites/production/camel/content/backlogdebugger.html (original)
+++ websites/production/camel/content/backlogdebugger.html Tue Sep 13 16:18:52 2016
@@ -75,7 +75,7 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="BacklogDebugger-BacklogDebugger">BacklogDebugger</h2><p><strong>Available as of Camel 2.12</strong></p><p>Camel supports a backlog debugger that is used for live debugging of message they are routed in Camel. The backlog debugger has additional functionality for easier debugging aimed at tooling, than the <a shape="rect" href="debugger.html">Debugger</a>. The backlog debugger is exposed in JMX in the tracer node with the name <strong><code>BacklogDebugger</code></strong>. The JMX API is defined in the <strong><code>org.apache.camel.api.management.mbean.ManagedBacklogDebuggerMBean</code></strong> interface.</p><p>You can enable or disable the BacklogDebugger dynamically, by calling <strong><code>enableDebugger</code></strong> or <strong><code>disableDebugger</code></strong> methods.</p><h3 id="BacklogDebugger-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspa
n="1" rowspan="1" class="confluenceTh"><p>Option</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>enabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the debugger is enabled or not.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bodyIncludeFiles</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to include the message body of file based messages. The overhead is that the file content has to be read from the file.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bodyIncludeStreams</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</
code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to include the message body of stream based messages. If enabled then beware the stream may not be re-readable later. See more about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bodyMaxChars</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>128kb</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To limit the message body to a maximum size in the traced message.</p><p>Use <strong><code>0</code></strong> or negative value to use unlimited size.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>singleStepMode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether currently in single step mode of a single <a shape="rect" href="exchange.html">Exchange</a>.</
p></td></tr></tbody></table></div></div><h3 id="BacklogDebugger-Operations">Operations</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>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>addBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To add a breakpoint at the given node.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>addConditionalBreakpoint(nodeId, language, predicate)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To add a conditional breakpoint at the given node. The
predicate is created from the <a shape="rect" href="languages.html">language</a> parameter.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disableBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To disable a breakpoint temporary.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disableDebugger</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To disable the debugger.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>dumpTracedMessagesAsXml(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To dump the debugged messages from the give node id in XML format.</p></td></tr><tr><td colspan="1" rowspan="
1" class="confluenceTd"><p><code>enableBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To active a breakpoint which has been temporary disabled.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>enableDebugger</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To enable the debugger.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>getBreakpoints</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Set<String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To get a set of all the nodes which has a breakpoint added.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>getDebuggerCounter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lo
ng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Gets the total number of debugged messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>getSuspendedBreakpointNodeIds</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Set<String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To get a set of all the nodes which has suspended breakpoints e.g., an <a shape="rect" href="exchange.html">Exchange</a> at the breakpoint which is suspended.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resetDebuggerCounter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To reset the debugger counter.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>removeBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p><
/td><td colspan="1" rowspan="1" class="confluenceTd"><p>To remove the breakpoint from the given node <strong><code>id</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resumeBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To resume a suspend breakpoint, which will then continue routing the <a shape="rect" href="exchange.html">Exchange</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resumeAll</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To resume all suspended breakpoints.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>step</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To st
ep to next node when in single step mode.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stepBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To start single step mode from a suspended breakpoint at the given node. Then invoke <strong><code>step</code></strong> to step to next node in the route.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>setMessageBodyOnBreakpoint(nodeId,body)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To update the message body on the suspended <a shape="rect" href="exchange.html">Exchange</a> at the node.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>setMessageHeaderOnBreakpoint(nodeId,headerName,value)</code></p></td><td colspan="1" rowspan="1" class="confluenceT
d"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To update/add the message header on the suspended <a shape="rect" href="exchange.html">Exchange</a> at the node.</p></td></tr></tbody></table></div></div><h3 id="BacklogDebugger-Enabling">Enabling</h3><p>You would need to enable this using the JMX API.</p><h3 id="BacklogDebugger-SeeAlso">See Also</h3><ul class="alternate"><li><a shape="rect" href="backlogtracer.html">BacklogTracer</a></li><li><a shape="rect" href="debugger.html">Debugger</a></li><li><a shape="rect" href="log.html">Log</a></li></ul></div>
+<div class="wiki-content maincontent"><h2 id="BacklogDebugger-BacklogDebugger">BacklogDebugger</h2><p><strong>Available from Camel 2.12</strong></p><p>Camel supports a backlog debugger that is used for live debugging of message they are routed in Camel. The backlog debugger has additional functionality for easier debugging aimed at tooling, than the <a shape="rect" href="debugger.html">Debugger</a>. The backlog debugger is exposed in JMX in the tracer node with the name <strong><code>BacklogDebugger</code></strong>. The JMX API is defined in the <strong><code>org.apache.camel.api.management.mbean.ManagedBacklogDebuggerMBean</code></strong> interface.</p><p>You can enable or disable the <strong><code>BacklogDebugger</code></strong> dynamically, by calling <strong><code>enableDebugger</code></strong> or <strong><code>disableDebugger</code></strong> methods.</p><h3 id="BacklogDebugger-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="conf
luenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</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>bodyIncludeFiles</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to include the message body of file based messages. The overhead is that the file content has to be read from the file.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bodyIncludeStreams</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to include the message body of stream based messages. If enabled then beware the stream may not be re-readable later. See more about <a shape="rect" href="stream
-caching.html">Stream caching</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bodyMaxChars</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>128kb</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To limit the message body to a maximum size in the traced message.</p><p>Use <strong><code>0</code></strong> or negative value to use unlimited size.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>enabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the debugger is enabled or not.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>singleStepMode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether currently in single step mode of a single <a shape="rect" hr
ef="exchange.html">Exchange</a>.</p></td></tr></tbody></table></div></div><h3 id="BacklogDebugger-Operations">Operations</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>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>addBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To add a breakpoint at the given node.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>addConditionalBreakpoint(nodeId, language, predicate)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To add a conditional
breakpoint at the given node. The predicate is created from the <a shape="rect" href="languages.html">language</a> parameter.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disableBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To disable a breakpoint temporary.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disableDebugger</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To disable the debugger.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>dumpTracedMessagesAsXml(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To dump the debugged messages from the give node id in XML format.</p></td>
</tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>enableBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To active a breakpoint which has been temporary disabled.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>enableDebugger</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To enable the debugger.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>getBreakpoints</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Set<String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To get a set of all the nodes which has a breakpoint added.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>getDebuggerCounter</code></p></td><td colspan="1" rowspan="1
" class="confluenceTd"><p><code>long</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Gets the total number of debugged messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>getSuspendedBreakpointNodeIds</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Set<String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To get a set of all the nodes which has suspended breakpoints e.g., an <a shape="rect" href="exchange.html">Exchange</a> at the breakpoint which is suspended.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resetDebuggerCounter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To reset the debugger counter.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>removeBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confl
uenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To remove the breakpoint from the given node <strong><code>id</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resumeBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To resume a suspend breakpoint, which will then continue routing the <a shape="rect" href="exchange.html">Exchange</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resumeAll</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To resume all suspended breakpoints.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>step</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan
="1" class="confluenceTd"><p>To step to next node when in single step mode.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stepBreakpoint(nodeId)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To start single step mode from a suspended breakpoint at the given node. Then invoke <strong><code>step</code></strong> to step to next node in the route.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>setMessageBodyOnBreakpoint(nodeId,body)</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To update the message body on the suspended <a shape="rect" href="exchange.html">Exchange</a> at the node.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>setMessageHeaderOnBreakpoint(nodeId,headerName,value)</code></p></td><td colspan=
"1" rowspan="1" class="confluenceTd"><p><code>void</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To update/add the message header on the suspended <a shape="rect" href="exchange.html">Exchange</a> at the node.</p></td></tr></tbody></table></div></div><h3 id="BacklogDebugger-Enabling">Enabling</h3><p>You would need to enable this using the JMX API.</p><h3 id="BacklogDebugger-SeeAlso">See Also</h3><ul class="alternate"><li><a shape="rect" href="backlogtracer.html">BacklogTracer</a></li><li><a shape="rect" href="debugger.html">Debugger</a></li><li><a shape="rect" href="log.html">Log</a></li></ul></div>
</td>
<td valign="top">
<div class="navigation">
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/jsonpath.html
==============================================================================
--- websites/production/camel/content/jsonpath.html (original)
+++ websites/production/camel/content/jsonpath.html Tue Sep 13 16:18:52 2016
@@ -85,7 +85,7 @@
<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">
+<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="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from("queue:books.new")
.choice()
.when().jsonpath("$.store.book[?(@.price < 10)]")
@@ -95,7 +95,7 @@
.otherwise()
.to("jms:queue:book.expensive")
]]></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">
+</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="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
@@ -115,7 +115,7 @@
</route>
</camelContext>
]]></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-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">
+</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 <strong><code>jsonpath</code></strong> will throw an exception if the JSON payload does not have a valid path accordingly to the configured <strong><code>jsonpath</code></strong> expression. In some use-cases you may want to ignore this in case the JSON payload contains optional data. To ignore exceptions set the option <strong><code>suppressExceptions=true</code></strong> as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from("direct:start")
.choice()
// use true to suppress exceptions
@@ -138,7 +138,7 @@
</route>
]]></script>
-</div></div><p> </p><p>This option is also available on the <code>@JsonPath</code> annotation.</p><h2 id="JSonPath-InlineSimpleexpressions">Inline Simple expressions</h2><p><strong>Available as of Camel 2.18</strong></p><p>Its now possible to inlined <a shape="rect" href="simple.html">Simple</a> <span style="line-height: 1.42857;">language expressions in the JSonPath expression using the simple syntax ${xxx}. An example is shown below:</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p> </p><p>This option is also available on the <strong><code>@JsonPath</code></strong> annotation.</p><h2 id="JSonPath-InlineSimpleexpressions">Inline Simple expressions</h2><p><strong>Available as of Camel 2.18</strong></p><p>It's now possible to in-lined <a shape="rect" href="simple.html">Simple</a> <span style="line-height: 1.42857;">language expressions in the JSonPath expression using the simple syntax <strong><code>${xxx}</code></strong>. </span></p><p><span style="line-height: 1.42857;">Example:</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from("direct:start")
.choice()
.when().jsonpath("$.store.book[?(@.price < ${header.cheap})]")
@@ -147,7 +147,7 @@
.to("mock:average")
.otherwise()
.to("mock:expensive");]]></script>
-</div></div><p><span style="line-height: 1.42857;">In this example the Simple expression inlined is the headers with the cheap and average values to be used. </span></p><p><span style="line-height: 1.42857;"><br clear="none"></span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p><span style="line-height: 1.42857;">In this example the Simple expression in-lined is the headers with the cheap and average values to be used. </span></p><p><span style="line-height: 1.42857;"><br clear="none"></span></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[ <route>
<from uri="direct:start"/>
<choice>
@@ -164,13 +164,13 @@
</otherwise>
</choice>
</route>]]></script>
-</div></div><p><span style="line-height: 1.42857;">You can turn off support for inlined simple expression by setting the option <code>allowSimple</code> to <code>false</code> as shown:</span></p><p> </p><p> </p><p> </p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p><span style="line-height: 1.42857;">You can turn off support for in-lined simple expression by setting the option <strong><code>allowSimple=false</code></strong> as shown:</span></p><p> </p><p> </p><p> </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[// java dsl
.when().jsonpath("$.store.book[?(@.price < 10)]", false, false)
// xml dsl
<jsonpath allowSimple="false">$.store.book[?(@.price < 10)]</jsonpath>]]></script>
-</div></div><p> </p><p> </p><p> </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">
+</div></div><p> </p><p> </p><p> </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>Example:</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[public class Foo {
@Consume(uri = "activemq:queue:books.new")
@@ -179,7 +179,7 @@
}
}
]]></script>
-</div></div><h2 id="JSonPath-EncodingDetection">Encoding Detection</h2><p><strong>Since Camel version 2.16</strong>, the encoding of the JSON document is detected automatically, if the document is encoded in unicode  (UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE ) as specified in  RFC-4627. If the encoding is a non-unicode encoding, you can either make sure that you enter the document in String format to the JSONPath component or you can specify the encoding in the header "<strong>CamelJsonPathJsonEncoding</strong>" (JsonpathConstants.HEADER_JSON_ENCODING).</p><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 & 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">
+</div></div><h2 id="JSonPath-EncodingDetection">Encoding Detection</h2><p><strong>Since Camel version 2.16</strong>, the encoding of the JSON document is detected automatically, if the document is encoded in Unicode  (<strong><code>UTF-8</code>, <code>UTF-16LE</code></strong>, <strong><code>UTF-16BE</code></strong>, <strong><code>UTF-32LE</code></strong>, <strong><code>UTF-32BE</code></strong>) as specified in <code>RFC-4627</code>. If the encoding is a non-Unicode encoding, you can either make sure that you enter the document in <strong><code>String</code></strong> format to the JSonPath component or you can specify the encoding in the header <strong><code>CamelJsonPathJsonEncoding</code></strong> (<strong><code>JsonpathConstants.HEADER_JSON_ENCODING</code></strong>).</p><h3 id="JSonPath-Dependencies">Dependencies</h3><p>To use JSonPath in your camel routes you need to add the a dependency on <strong><code>camel-jsonpath</code></strong> which implements the
JSonPath language.</p><p>If you use maven you could just add the following to your <strong><code>pom.xml</code></strong>, substituting the version number for the latest & 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="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jsonpath</artifactId>