Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Fri Apr  8 19:21:34 
2016
@@ -3699,11 +3699,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1460121572182 {padding: 0px;}
-div.rbtoc1460121572182 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1460121572182 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1460143146480 {padding: 0px;}
+div.rbtoc1460143146480 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1460143146480 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1460121572182">
+/*]]>*/</style></p><div class="toc-macro rbtoc1460143146480">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -5818,11 +5818,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1460121572941 {padding: 0px;}
-div.rbtoc1460121572941 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1460121572941 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1460143147037 {padding: 0px;}
+div.rbtoc1460143147037 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1460143147037 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1460121572941">
+/*]]>*/</style><div class="toc-macro rbtoc1460143147037">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -8233,7 +8233,7 @@ simple(&quot;There are ${body.length} li
 </div></div><h3 id="BookInOnePage-Operatorsupport">Operator support</h3><p>The 
parser is limited to only support a single operator.</p><p>To enable it the 
left value must be enclosed in ${ }. The syntax is:</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[${leftValue} OP rightValue
 ]]></script>
-</div></div><p>Where the <code>rightValue</code> can be a String literal 
enclosed in <code>' '</code>, <code>null</code>, a constant value or another 
expression enclosed in ${ }.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Important</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>There <strong>must</strong> be 
spaces around the operator.</p></div></div><p>Camel will automatically type 
convert the rightValue type to the leftValue type, so it is able to eg. convert 
a string into a numeric so you can use &gt; comparison for numeric 
values.</p><p>The following operators are supported:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td 
colspan="1" rowspan="1" c
 lass="confluenceTd"><p>==</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>equals</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">=~</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong> equals ignore case (will 
ignore case when comparing String values)</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&lt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>!=</p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>not equals</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>contains</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a 
string based value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not contains</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For testing if not contains in a string based 
value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching against a given regular expression pattern 
defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For not matching against a given regular expression 
pattern defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in</p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p>For matching if in a set of values, each element must be 
separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not in</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if not in a set of values, each element 
must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is not an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>range</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side is within a range of 
values defined as numbers: <code>from..to</code>. From <strong>Camel 
2.9</strong> onwards 
 the range values must be enclosed in single quotes.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>not range</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand 
side is not within a range of values defined as numbers: <code>from..to</code>. 
From <strong>Camel 2.9</strong> onwards the range values must be enclosed in 
single quotes.</p></td></tr></tbody></table></div><p>And the following unary 
operators can be used:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>++</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by 
one. The left hand side must be a function, otherwise parsed as 
literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="conflue
 nceTd"><p>--</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by 
one. The left hand side must be a function, otherwise parsed as 
literal.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a 
value, eg \$, to indicate a $ sign. Special: Use \n for new line, \t for tab, 
and \r for carriage return. <strong>Notice:</strong> Escaping is 
<strong>not</strong> supported using the <a shape="rect" 
href="file-language.html">File Language</a>. <strong>Notice:</strong> From 
Camel 2.11 onwards the escape character is no longer support, but replaced with 
the following three special escaping.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>\n</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline 
character.</p></td></tr><tr><td colspan="1" row
 span="1" class="confluenceTd"><p>\t</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab 
character.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\r</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return 
character.</p></td></tr></tbody></table></div><p>And the following logical 
operators can be used to group expressions:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>and</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>deprecated</strong> use &amp;&amp; instead. The 
logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>or</p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p><strong>deprecated</strong> use || instead. The 
logical or operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&amp;&amp;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The 
logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>||</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical or 
operator is used to group two 
expressions.</p></td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using and,or 
operators</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In <strong>Camel 2.4 or 
older</strong> the <code>and</code> or <code>or</code> can only be used 
<strong>once</s
 trong> in a simple language expression. From <strong>Camel 2.5</strong> 
onwards you can use these operators multiple times.</p></div></div><p>The 
syntax for AND is:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where the <code>rightValue</code> can be a String literal 
enclosed in <code>' '</code>, <code>null</code>, a constant value or another 
expression enclosed in ${ }.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Important</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>There <strong>must</strong> be 
spaces around the operator.</p></div></div><p>Camel will automatically type 
convert the rightValue type to the leftValue type, so it is able to eg. convert 
a string into a numeric so you can use &gt; comparison for numeric 
values.</p><p>The following operators are supported:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td 
colspan="1" rowspan="1" c
 lass="confluenceTd"><p>==</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>equals</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">=~</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong> equals ignore case (will 
ignore case when comparing String values)</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&lt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>!=</p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>not equals</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>contains</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a 
string based value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not contains</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For testing if not contains in a string based 
value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching against a given regular expression pattern 
defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For not matching against a given regular expression 
pattern defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in</p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p>For matching if in a set of values, each element must be 
separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not in</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if not in a set of values, each element 
must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is not an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>range</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side is within a range of 
values defined as numbers: <code>from..to</code>. From <strong>Camel 
2.9</strong> onwards 
 the range values must be enclosed in single quotes.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>not range</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand 
side is not within a range of values defined as numbers: <code>from..to</code>. 
From <strong>Camel 2.9</strong> onwards the range values must be enclosed in 
single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ends with</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.17.1, 2.18</strong>: For testing if the 
left hand side string ends with the right hand 
string.</td></tr></tbody></table></div><p>And the following unary operators can 
be used:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>++</p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> 
To increment a number by one. The left hand side must be a function, otherwise 
parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>--</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by 
one. The left hand side must be a function, otherwise parsed as 
literal.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a 
value, eg \$, to indicate a $ sign. Special: Use \n for new line, \t for tab, 
and \r for carriage return. <strong>Notice:</strong> Escaping is 
<strong>not</strong> supported using the <a shape="rect" 
href="file-language.html">File Language</a>. <strong>Notice:</strong> From 
Camel 2.11 onwards the escape character is no longer support, but replaced with 
the following three speci
 al escaping.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\n</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline 
character.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\t</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab 
character.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\r</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return 
character.</p></td></tr></tbody></table></div><p>And the following logical 
operators can be used to group expressions:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>and</p></td><td colspan="1" rowspan="1" 
 class="confluenceTd"><p><strong>deprecated</strong> use &amp;&amp; instead. 
The logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>or</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>deprecated</strong> use || instead. 
The logical or operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&amp;&amp;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The 
logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>||</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical or 
operator is used to group two 
expressions.</p></td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using and,or 
operators</p><span class="aui-icon 
 aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In <strong>Camel 2.4 or 
older</strong> the <code>and</code> or <code>or</code> can only be used 
<strong>once</strong> in a simple language expression. From <strong>Camel 
2.5</strong> onwards you can use these operators multiple 
times.</p></div></div><p>The syntax for AND is:</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[${leftValue} OP rightValue and ${leftValue} 
OP rightValue 
 ]]></script>
 </div></div><p>And the syntax for OR is:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -16503,7 +16503,7 @@ AMQPConnectionDetails amqpConnection() {
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul> <h2 
id="BookInOnePage-SQSComponent">SQS Component</h2><p><strong>Available as of 
Camel 2.6</strong></p><p>The sqs component supports sending and receiving 
messages to <a shape="rect" class="external-link" 
href="http://aws.amazon.com/sqs"; rel="nofollow">Amazon's SQS</a> 
service.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Prerequisites</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>You must have a valid Amazon Web 
Services developer account, and be signed up to use Amazon SQS. More 
information are available at <a shape="rect" class="external-link" href="
 http://aws.amazon.com/sqs"; rel="nofollow">Amazon SQS</a>.</p></div></div><h3 
id="BookInOnePage-URIFormat">URI Format</h3><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[aws-sqs://queue-name[?options]
 ]]></script>
-</div></div><p>The queue will be created if they don't already exists.<br 
clear="none"> You can append query options to the URI in the following format, 
?options=value&amp;option2=value&amp;...</p><h3 
id="BookInOnePage-URIOptions">URI Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Context</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>amazonSQSClient</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Reference to a 
<code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" 
href="registry.html">Registry</a>.<
 /p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The region with which the AWS-SQS client wants to work 
with. Only works if Camel creates the 
 AWS-SQS client, i.e., if you explicitly set amazonSQSClient, then this setting 
will have no effect. You would have to set it on the client you create 
directly</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>attributeNames</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>A list of attribute names to receive when consuming. 
<strong>Camel 2.17:</strong> Multiple names can be separated by comma. Camel 
2.16 or older: The type is a Collection so its much harder to configure and 
use.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">messageAttributeNames</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" 
class="confluenceTd">A list of message attribute names to receive when 
consuming. <
 strong>Camel 2.17:</strong><span>&#160;</span>Multiple names can be separated 
by comma. <span>Camel 2.16 or older: The type is a Collection so its much 
harder to configure and use.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>concurrentConsumers</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">1</td><td colspan="1" rowspan="1" 
class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" 
class="confluenceTd">(<strong>as of 2.15.0</strong>) Allows you to use multiple 
threads to poll the sqs queue to increase throughput. You must also set 
t<span>he </span><code>maxMessagesPerPoll</code> option for this to work 
properly.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>defaultVisibilityTimeout</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The visibility timeout (in seconds) to se
 t in the 
<code>com.amazonaws.services.sqs.model.CreateQueueRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Delete message from SQS after 
it has been read (and processed by the route)</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>deleteIfFiltered</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.2,2.13.0</strong> 
Whether or not to send the DeleteMessage to the SQS queue if an exchange fails 
to get through a filter. If 'false' and exchange does not make it through a 
Camel filter upstream in the route, then don't send DeleteMessage.</p
 ></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>The maximum number of messages which can 
 >be received in one poll to set in the 
 ><code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td
 > colspan="1" rowspan="1" 
 >class="confluenceTd"><p>visibilityTimeout</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>The duration (in seconds) that the received messages 
 >are hidden from subsequent retrieve requests after being retrieved by a 
 >ReceiveMessage request. This only make sense if its different from 
 ><code>defaultVisibilityTimeout</code>.</p></td></tr><tr><td colspan="1" 
 rowspan="1" class="confluenceTd"><p>extendMessageVisibility</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> If 
enabled a scheduled background task will keep extending the message visibility 
on SQS. This is needed if it takes a long time to process the message. If set 
to true<code> visibilityTimeout</code> must be set. See details at <a 
shape="rect" class="external-link" 
href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html";
 rel="nofollow">Amazon docs</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>maximumMessageSize</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="conf
 luenceTd"><p><strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an 
SQS message can contain for this queue, to set in the 
<code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p>messageRetentionPeriod</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.8:</strong> The messageRetentionPeriod 
(in seconds) a message will be retained by SQS for this queue, to set in the 
<code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>C
 amel 2.8:</strong> The policy for this queue to set in the 
<code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>delaySeconds</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> 
Delay sending messages for a number of seconds.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> 
Duration in seconds (0 to 20) that the ReceiveMessage action call will wait 
until a message is in the queue to include in the 
response.</p></td></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"><p>receiveMessageWaitTimeSeconds</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> If you do not specify 
WaitTimeSeconds in the request, the queue attribute 
ReceiveMessageWaitTimeSeconds is used to determine how long to 
wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>queueOwnerAWSAccountId</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12:</strong> Specify the queue owner 
aws account id when you need to connect the queue with different account 
owner.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>region</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><c
 ode>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Specify the queue region 
which could be used with <code>queueOwnerAWSAccountId</code> to build the 
service URL.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>redrivePolicy</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">Shared</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.15</strong>: Specify the policy that send 
message to DeadLetter queue. See detail at <a shape="rect" 
class="external-link" 
href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html";
 rel="nofollow">Amazon docs</a>.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>proxyHost</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><
 td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy 
host to be used inside the client definition.</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>proxyPort</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be 
used inside the client definition.</td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Required SQS 
component options</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>You have to provide the 
amazonSQSClient in the <a shape="rect" href="registry.html">Registry</a> or 
your accessKey and secretKey to 
 access the <a shape="rect" class="external-link" 
href="http://aws.amazon.com/sqs"; rel="nofollow">Amazon's 
SQS</a>.</p></div></div><h3 id="BookInOnePage-BatchConsumer">Batch 
Consumer</h3><p>This component implements the <a shape="rect" 
href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for 
instance to know how many messages exists in this batch and for instance let 
the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number 
of messages.</p><h3 id="BookInOnePage-Usage.2">Usage</h3><h4 
id="BookInOnePage-MessageheaderssetbytheSQSproducer">Message headers set by the 
SQS producer</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Header</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>CamelAwsSqsMD5OfBody</code></p></td><
 td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The MD5 checksum of the Amazon SQS 
message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message 
ID.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsDelaySeconds</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Since <strong>Camel 2.11</strong>, the 
delay seconds that the Amazon SQS message can be see by 
others.</p></td></tr></tbody></table></div><h4 
id="BookInOnePage-MessageheaderssetbytheSQSconsumer">Message headers set by the 
SQS consumer</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr>
 <th colspan="1" rowspan="1" class="confluenceTh"><p>Header</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>CamelAwsSqsMD5OfBody</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon 
SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message 
ID.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsReceiptHandle</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd">
 <p>The Amazon SQS message receipt handle.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsAttributes</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
String&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The Amazon SQS message 
attributes.</p></td></tr></tbody></table></div><h4 
id="BookInOnePage-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS 
configuration</h4><p>If your Camel Application is running behind a firewall or 
if you need to have more control over the AmazonSQS instance configuration, you 
can create your own instance:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The queue will be created if they don't already exists.<br 
clear="none"> You can append query options to the URI in the following format, 
?options=value&amp;option2=value&amp;...</p><h3 
id="BookInOnePage-URIOptions">URI Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Context</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>amazonSQSClient</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Reference to a 
<code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" 
href="registry.html">Registry</a>.<
 /p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The region with which the AWS-SQS client wants to work 
with. Only works if Camel creates the 
 AWS-SQS client, i.e., if you explicitly set amazonSQSClient, then this setting 
will have no effect. You would have to set it on the client you create 
directly</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>attributeNames</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>A list of attribute names to receive when consuming. 
<strong>Camel 2.17:</strong> Multiple names can be separated by comma. Camel 
2.16 or older: The type is a Collection so its much harder to configure and 
use.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">messageAttributeNames</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" 
class="confluenceTd">A list of message attribute names to receive when 
consuming. <
 strong>Camel 2.17:</strong><span>&#160;</span>Multiple names can be separated 
by comma. <span>Camel 2.16 or older: The type is a Collection so its much 
harder to configure and use.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>concurrentConsumers</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">1</td><td colspan="1" rowspan="1" 
class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" 
class="confluenceTd">(<strong>as of 2.15.0</strong>) Allows you to use multiple 
threads to poll the sqs queue to increase throughput. You must also set 
t<span>he </span><code>maxMessagesPerPoll</code> option for this to work 
properly.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>defaultVisibilityTimeout</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The visibility timeout (in seconds) to se
 t in the 
<code>com.amazonaws.services.sqs.model.CreateQueueRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Delete message from SQS after 
it has been read (and processed by the route)</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>deleteIfFiltered</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.2,2.13.0</strong> 
Whether or not to send the DeleteMessage to the SQS queue if an exchange fails 
to get through a filter. If 'false' and exchange does not make it through a 
Camel filter upstream in the route, then don't send DeleteMessage.</p
 ></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>The maximum number of messages which can 
 >be received in one poll to set in the 
 ><code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td
 > colspan="1" rowspan="1" 
 >class="confluenceTd"><p>visibilityTimeout</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>The duration (in seconds) that the received messages 
 >are hidden from subsequent retrieve requests after being retrieved by a 
 >ReceiveMessage request. This only make sense if its different from 
 ><code>defaultVisibilityTimeout</code>.</p></td></tr><tr><td colspan="1" 
 rowspan="1" class="confluenceTd"><p>extendMessageVisibility</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> If 
enabled a scheduled background task will keep extending the message visibility 
on SQS. This is needed if it takes a long time to process the message. If set 
to true<code> visibilityTimeout</code> must be set. See details at <a 
shape="rect" class="external-link" 
href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html";
 rel="nofollow">Amazon docs</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>maximumMessageSize</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="conf
 luenceTd"><p><strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an 
SQS message can contain for this queue, to set in the 
<code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p>messageRetentionPeriod</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.8:</strong> The messageRetentionPeriod 
(in seconds) a message will be retained by SQS for this queue, to set in the 
<code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>C
 amel 2.8:</strong> The policy for this queue to set in the 
<code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>delaySeconds</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> 
Delay sending messages for a number of seconds.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> 
Duration in seconds (0 to 20) that the ReceiveMessage action call will wait 
until a message is in the queue to include in the 
response.</p></td></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"><p>receiveMessageWaitTimeSeconds</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> If you do not specify 
WaitTimeSeconds in the request, the queue attribute 
ReceiveMessageWaitTimeSeconds is used to determine how long to 
wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>queueOwnerAWSAccountId</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12:</strong> Specify the queue owner 
aws account id when you need to connect the queue with different account 
owner.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>region</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><c
 ode>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Specify the queue region 
which could be used with <code>queueOwnerAWSAccountId</code> to build the 
service URL.<br clear="none">Note: Region will still default to us-east-1 if 
&#160;<span>queueOwnerAWSAccountId is not specified</span></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>redrivePolicy</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.15</strong>: Specify the 
policy that send message to DeadLetter queue. See detail at <a shape="rect" 
class="external-link" 
href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html";
 rel="nofollow">Amazon docs</a>.</td></tr><tr><td colspan="1" row
 span="1" class="confluenceTd"><p>proxyHost</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">Shared</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy host to be 
used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>proxyPort</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">Shared</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be 
used inside the client definition.</td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Required SQS 
component options</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>You have 
 to provide the amazonSQSClient in the <a shape="rect" 
href="registry.html">Registry</a> or your accessKey and secretKey to access the 
<a shape="rect" class="external-link" href="http://aws.amazon.com/sqs"; 
rel="nofollow">Amazon's SQS</a>.</p></div></div><h3 
id="BookInOnePage-BatchConsumer">Batch Consumer</h3><p>This component 
implements the <a shape="rect" href="batch-consumer.html">Batch 
Consumer</a>.</p><p>This allows you for instance to know how many messages 
exists in this batch and for instance let the <a shape="rect" 
href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 
id="BookInOnePage-Usage.2">Usage</h3><h4 
id="BookInOnePage-MessageheaderssetbytheSQSproducer">Message headers set by the 
SQS producer</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>D
 escription</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon 
SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message 
ID.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsDelaySeconds</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Since <strong>Camel 2.11</strong>, the 
delay seconds that the Amazon SQS message can be see by 
others.</p></td></tr></tbody></table></div><h4 
id="BookInOnePage-Messageheaderssetbythe
 SQSconsumer">Message headers set by the SQS consumer</h4><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Header</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>CamelAwsSqsMD5OfBody</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon 
SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message 
ID.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsReceiptHandle</code></p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message receipt 
handle.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAwsSqsAttributes</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
String&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The Amazon SQS message 
attributes.</p></td></tr></tbody></table></div><h4 
id="BookInOnePage-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS 
configuration</h4><p>If your Camel Application is running behind a firewall or 
if you need to have more control over the AmazonSQS instance configuration, you 
can create your own instance:</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[AWSCredentials awsCredentials = new 
BasicAWSCredentials(&quot;myAccessKey&quot;, &quot;mySecretKey&quot;);
 
 ClientConfiguration clientConfiguration = new ClientConfiguration();
@@ -17251,11 +17251,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookInOnePage-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to consume web 
 services. The bean component's configuration is also simpler and provides the 
fastest method to implement web services using Camel and 
CXF.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The 
<strong>cxf:</strong> component provides integration with <a shape="rect" 
href="http://cxf.apache.org";>Apache CXF</a> for connecting to JAX-WS services 
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1460121623923 {padding: 0px;}
-div.rbtoc1460121623923 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1460121623923 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1460143195691 {padding: 0px;}
+div.rbtoc1460143195691 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1460143195691 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1460121623923">
+/*]]>*/</style></p><div class="toc-macro rbtoc1460143195691">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>

Modified: websites/production/camel/content/book-languages-appendix.html
==============================================================================
--- websites/production/camel/content/book-languages-appendix.html (original)
+++ websites/production/camel/content/book-languages-appendix.html Fri Apr  8 
19:21:34 2016
@@ -960,7 +960,7 @@ simple(&quot;There are ${body.length} li
 </div></div><h3 id="BookLanguagesAppendix-Operatorsupport">Operator 
support</h3><p>The parser is limited to only support a single 
operator.</p><p>To enable it the left value must be enclosed in ${ }. The 
syntax is:</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[${leftValue} OP rightValue
 ]]></script>
-</div></div><p>Where the <code>rightValue</code> can be a String literal 
enclosed in <code>' '</code>, <code>null</code>, a constant value or another 
expression enclosed in ${ }.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Important</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>There <strong>must</strong> be 
spaces around the operator.</p></div></div><p>Camel will automatically type 
convert the rightValue type to the leftValue type, so it is able to eg. convert 
a string into a numeric so you can use &gt; comparison for numeric 
values.</p><p>The following operators are supported:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td 
colspan="1" rowspan="1" c
 lass="confluenceTd"><p>==</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>equals</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">=~</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong> equals ignore case (will 
ignore case when comparing String values)</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&lt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>!=</p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>not equals</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>contains</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a 
string based value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not contains</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For testing if not contains in a string based 
value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching against a given regular expression pattern 
defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For not matching against a given regular expression 
pattern defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in</p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p>For matching if in a set of values, each element must be 
separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not in</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if not in a set of values, each element 
must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is not an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>range</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side is within a range of 
values defined as numbers: <code>from..to</code>. From <strong>Camel 
2.9</strong> onwards 
 the range values must be enclosed in single quotes.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>not range</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand 
side is not within a range of values defined as numbers: <code>from..to</code>. 
From <strong>Camel 2.9</strong> onwards the range values must be enclosed in 
single quotes.</p></td></tr></tbody></table></div><p>And the following unary 
operators can be used:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>++</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> To increment a number by 
one. The left hand side must be a function, otherwise parsed as 
literal.</p></td></tr><tr><td colspan="1" rowspan="1" class="conflue
 nceTd"><p>--</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by 
one. The left hand side must be a function, otherwise parsed as 
literal.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a 
value, eg \$, to indicate a $ sign. Special: Use \n for new line, \t for tab, 
and \r for carriage return. <strong>Notice:</strong> Escaping is 
<strong>not</strong> supported using the <a shape="rect" 
href="file-language.html">File Language</a>. <strong>Notice:</strong> From 
Camel 2.11 onwards the escape character is no longer support, but replaced with 
the following three special escaping.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>\n</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline 
character.</p></td></tr><tr><td colspan="1" row
 span="1" class="confluenceTd"><p>\t</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab 
character.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\r</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return 
character.</p></td></tr></tbody></table></div><p>And the following logical 
operators can be used to group expressions:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>and</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>deprecated</strong> use &amp;&amp; instead. The 
logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>or</p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p><strong>deprecated</strong> use || instead. The 
logical or operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&amp;&amp;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The 
logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>||</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical or 
operator is used to group two 
expressions.</p></td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using and,or 
operators</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In <strong>Camel 2.4 or 
older</strong> the <code>and</code> or <code>or</code> can only be used 
<strong>once</s
 trong> in a simple language expression. From <strong>Camel 2.5</strong> 
onwards you can use these operators multiple times.</p></div></div><p>The 
syntax for AND is:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where the <code>rightValue</code> can be a String literal 
enclosed in <code>' '</code>, <code>null</code>, a constant value or another 
expression enclosed in ${ }.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Important</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>There <strong>must</strong> be 
spaces around the operator.</p></div></div><p>Camel will automatically type 
convert the rightValue type to the leftValue type, so it is able to eg. convert 
a string into a numeric so you can use &gt; comparison for numeric 
values.</p><p>The following operators are supported:</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Operator</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td 
colspan="1" rowspan="1" c
 lass="confluenceTd"><p>==</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>equals</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">=~</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong> equals ignore case (will 
ignore case when comparing String values)</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&gt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>greater than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&lt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;=</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>less than or equals</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>!=</p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>not equals</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>contains</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For testing if contains in a 
string based value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not contains</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For testing if not contains in a string based 
value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching against a given regular expression pattern 
defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not regex</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For not matching against a given regular expression 
pattern defined as a String value</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in</p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p>For matching if in a set of values, each element must be 
separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not in</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if not in a set of values, each element 
must be separated by comma.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>not is</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side type is not an 
instanceof the value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>range</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For matching if the left hand side is within a range of 
values defined as numbers: <code>from..to</code>. From <strong>Camel 
2.9</strong> onwards 
 the range values must be enclosed in single quotes.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>not range</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For matching if the left hand 
side is not within a range of values defined as numbers: <code>from..to</code>. 
From <strong>Camel 2.9</strong> onwards the range values must be enclosed in 
single quotes.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ends with</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.17.1, 2.18</strong>: For testing if the 
left hand side string ends with the right hand 
string.</td></tr></tbody></table></div><p>And the following unary operators can 
be used:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>++</p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> 
To increment a number by one. The left hand side must be a function, otherwise 
parsed as literal.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>--</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> To decrement a number by 
one. The left hand side must be a function, otherwise parsed as 
literal.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.3 to 2.10.x</strong> To escape a 
value, eg \$, to indicate a $ sign. Special: Use \n for new line, \t for tab, 
and \r for carriage return. <strong>Notice:</strong> Escaping is 
<strong>not</strong> supported using the <a shape="rect" 
href="file-language.html">File Language</a>. <strong>Notice:</strong> From 
Camel 2.11 onwards the escape character is no longer support, but replaced with 
the following three speci
 al escaping.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\n</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use newline 
character.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\t</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use tab 
character.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>\r</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To use carriage return 
character.</p></td></tr></tbody></table></div><p>And the following logical 
operators can be used to group expressions:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Operator</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>and</p></td><td colspan="1" rowspan="1" 
 class="confluenceTd"><p><strong>deprecated</strong> use &amp;&amp; instead. 
The logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>or</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>deprecated</strong> use || instead. 
The logical or operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&amp;&amp;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The 
logical and operator is used to group two expressions.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>||</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> The logical or 
operator is used to group two 
expressions.</p></td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using and,or 
operators</p><span class="aui-icon 
 aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In <strong>Camel 2.4 or 
older</strong> the <code>and</code> or <code>or</code> can only be used 
<strong>once</strong> in a simple language expression. From <strong>Camel 
2.5</strong> onwards you can use these operators multiple 
times.</p></div></div><p>The syntax for AND is:</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[${leftValue} OP rightValue and ${leftValue} 
OP rightValue 
 ]]></script>
 </div></div><p>And the syntax for OR is:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">

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


Reply via email to