camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r891795 [3/4] - in /websites/production/camel/content: ./ cache/
Date Thu, 26 Dec 2013 02:21:40 GMT
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 Thu Dec 26 02:21:39 2013
@@ -657,20 +657,7 @@ from("direct:a").recipientList
 
 <p>However any <a shape="rect" class="external-link" href="http://jcp.org/en/jsr/detail?id=223" rel="nofollow">JSR 223</a> scripting language can be used using the generic DSL methods.</p>
 
-<h3 id="BookLanguagesAppendix-ScriptContext">ScriptContext</h3>
-<p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> context </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.CamelContext</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Camel Context </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> exchange </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Exchange</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The current Exchange </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> request </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> The IN message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> response </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The OUT message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> properties </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.builder.script.PropertiesFunction</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example. </p></td></tr></tbody></table></div>
-
-
-<p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p>
-
-<h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine">Additional arguments to ScriptingEngine</h3>
-<p><strong>Available as of Camel 2.8</strong></p>
-
-<p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none">
-See this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookLanguagesAppendix-ScriptContext">ScriptContext</h3><p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Attribute</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>context</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.CamelContext</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Camel Context ( It cannot be used in groovy)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">camelContext</td><td colspan="1" rowspan="1" class="confluenceTd">org.apache.camel.CamelContext</td><td colspan="1" rowspan="1" class="confluenceTd">The Camel Context</td></tr><tr><t
 d colspan="1" rowspan="1" class="confluenceTd"><p>exchange</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Exchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The current Exchange</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>request</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The IN message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>response</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The OUT message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.builder.script.PropertiesFunction</code></p></td><td colspan="1" rowspan="1" class="confluenc
 eTd"><p><strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example.</p></td></tr></tbody></table></div><p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p><h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine">Additional arguments to ScriptingEngine</h3><p><strong>Available as of Camel 2.8</strong></p><p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none"> See this example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public void testArgumentsExample() throws Exception {
     if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
@@ -691,49 +678,17 @@ public void testArgumentsExample() throw
     assertMockEndpointsSatisfied();
 }
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Usingpropertiesfunction">Using properties function</h3>
-<p><strong>Available as of Camel 2.9</strong></p>
-
-<p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none">
-For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Usingpropertiesfunction">Using properties function</h3><p><strong>Available as of Camel 2.9</strong></p><p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none"> For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
 ]]></script>
-</div></div>
-
-<p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
+</div></div><p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.3">Loading script from external resource</h3>
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none">
-This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.3">Loading script from external resource</h3><p><strong>Available as of Camel 2.11</strong></p><p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none"> This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Dependencies.8">Dependencies</h3>
-
-<p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="BookLanguagesAppendix-Dependencies.8">Dependencies</h3><p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine.</p><p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-script&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;
@@ -781,20 +736,7 @@ This is done using the following syntax:
 
 <p>You could follow the examples above to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a shape="rect" href="message-filter.html">Message Filter</a> or as an <a shape="rect" href="expression.html">Expression</a> for a <a shape="rect" href="recipient-list.html">Recipient List</a></p>
 
-<h3 id="BookLanguagesAppendix-ScriptContext.1">ScriptContext</h3>
-<p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> context </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.CamelContext</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Camel Context </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> exchange </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Exchange</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The current Exchange </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> request </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> The IN message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> response </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The OUT message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> properties </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.builder.script.PropertiesFunction</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example. </p></td></tr></tbody></table></div>
-
-
-<p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p>
-
-<h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.1">Additional arguments to ScriptingEngine</h3>
-<p><strong>Available as of Camel 2.8</strong></p>
-
-<p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none">
-See this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookLanguagesAppendix-ScriptContext.1">ScriptContext</h3><p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Attribute</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>context</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.CamelContext</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Camel Context ( It cannot be used in groovy)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">camelContext</td><td colspan="1" rowspan="1" class="confluenceTd">org.apache.camel.CamelContext</td><td colspan="1" rowspan="1" class="confluenceTd">The Camel Context</td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"><p>exchange</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Exchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The current Exchange</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>request</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The IN message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>response</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The OUT message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.builder.script.PropertiesFunction</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p><strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example.</p></td></tr></tbody></table></div><p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p><h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.1">Additional arguments to ScriptingEngine</h3><p><strong>Available as of Camel 2.8</strong></p><p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none"> See this example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public void testArgumentsExample() throws Exception {
     if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
@@ -815,49 +757,17 @@ public void testArgumentsExample() throw
     assertMockEndpointsSatisfied();
 }
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Usingpropertiesfunction.1">Using properties function</h3>
-<p><strong>Available as of Camel 2.9</strong></p>
-
-<p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none">
-For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Usingpropertiesfunction.1">Using properties function</h3><p><strong>Available as of Camel 2.9</strong></p><p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none"> For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
 ]]></script>
-</div></div>
-
-<p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
+</div></div><p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.4">Loading script from external resource</h3>
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none">
-This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.4">Loading script from external resource</h3><p><strong>Available as of Camel 2.11</strong></p><p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none"> This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Dependencies.9">Dependencies</h3>
-
-<p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="BookLanguagesAppendix-Dependencies.9">Dependencies</h3><p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine.</p><p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-script&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;
@@ -908,20 +818,7 @@ This is done using the following syntax:
 ]]></script>
 </div></div>
 
-<h3 id="BookLanguagesAppendix-ScriptContext.2">ScriptContext</h3>
-<p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> context </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.CamelContext</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Camel Context </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> exchange </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Exchange</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The current Exchange </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> request </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> The IN message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> response </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The OUT message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> properties </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.builder.script.PropertiesFunction</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example. </p></td></tr></tbody></table></div>
-
-
-<p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p>
-
-<h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.2">Additional arguments to ScriptingEngine</h3>
-<p><strong>Available as of Camel 2.8</strong></p>
-
-<p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none">
-See this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookLanguagesAppendix-ScriptContext.2">ScriptContext</h3><p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Attribute</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>context</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.CamelContext</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Camel Context ( It cannot be used in groovy)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">camelContext</td><td colspan="1" rowspan="1" class="confluenceTd">org.apache.camel.CamelContext</td><td colspan="1" rowspan="1" class="confluenceTd">The Camel Context</td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"><p>exchange</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Exchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The current Exchange</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>request</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The IN message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>response</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The OUT message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.builder.script.PropertiesFunction</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p><strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example.</p></td></tr></tbody></table></div><p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p><h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.2">Additional arguments to ScriptingEngine</h3><p><strong>Available as of Camel 2.8</strong></p><p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none"> See this example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public void testArgumentsExample() throws Exception {
     if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
@@ -942,82 +839,32 @@ public void testArgumentsExample() throw
     assertMockEndpointsSatisfied();
 }
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Usingpropertiesfunction.2">Using properties function</h3>
-<p><strong>Available as of Camel 2.9</strong></p>
-
-<p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none">
-For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Usingpropertiesfunction.2">Using properties function</h3><p><strong>Available as of Camel 2.9</strong></p><p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none"> For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
 ]]></script>
-</div></div>
-
-<p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
+</div></div><p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.5">Loading script from external resource</h3>
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none">
-This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.5">Loading script from external resource</h3><p><strong>Available as of Camel 2.11</strong></p><p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none"> This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Dependencies.10">Dependencies</h3>
-
-<p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="BookLanguagesAppendix-Dependencies.10">Dependencies</h3><p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine.</p><p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-script&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
 </div></div>
-<h2 id="BookLanguagesAppendix-Groovy">Groovy</h2>
-
-<p>Camel supports <a shape="rect" class="external-link" href="http://groovy.codehaus.org/" rel="nofollow">Groovy</a> among other <a shape="rect" href="scripting-languages.html">Scripting Languages</a> to allow an <a shape="rect" href="expression.html">Expression</a> or <a shape="rect" href="predicate.html">Predicate</a> to be used in the <a shape="rect" href="dsl.html">DSL</a> or <a shape="rect" href="xml-configuration.html">Xml Configuration</a>.</p>
-
-<p>To use a Groovy expression use the following Java code</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-... groovy(&quot;someGroovyExpression&quot;) ... 
+<h2 id="BookLanguagesAppendix-Groovy">Groovy</h2><p>Camel supports <a shape="rect" class="external-link" href="http://groovy.codehaus.org/" rel="nofollow">Groovy</a> among other <a shape="rect" href="scripting-languages.html">Scripting Languages</a> to allow an <a shape="rect" href="expression.html">Expression</a> or <a shape="rect" href="predicate.html">Predicate</a> to be used in the <a shape="rect" href="dsl.html">DSL</a> or <a shape="rect" href="xml-configuration.html">Xml Configuration</a>.</p><p>To use a Groovy expression use the following Java code</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[... groovy(&quot;someGroovyExpression&quot;) ... 
 ]]></script>
-</div></div>
-
-<p>For example you could use the <strong>groovy</strong> function to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a shape="rect" href="message-filter.html">Message Filter</a> or as an <a shape="rect" href="expression.html">Expression</a> for a <a shape="rect" href="recipient-list.html">Recipient List</a></p>
-
-<h3 id="BookLanguagesAppendix-Example.1">Example</h3>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-// lets route if a line item is over $100
+</div></div><p>For example you could use the <strong>groovy</strong> function to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a shape="rect" href="message-filter.html">Message Filter</a> or as an <a shape="rect" href="expression.html">Expression</a> for a <a shape="rect" href="recipient-list.html">Recipient List</a></p><h3 id="BookLanguagesAppendix-Example.1">Example</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[// lets route if a line item is over $100
 from(&quot;queue:foo&quot;).filter(groovy(&quot;request.lineItems.any { i -&gt; i.value &gt; 100 }&quot;)).to(&quot;queue:bar&quot;)
 ]]></script>
-</div></div>
-
-<p>And the Spring DSL:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-        &lt;route&gt;
+</div></div><p>And the Spring DSL:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[        &lt;route&gt;
             &lt;from uri=&quot;queue:foo&quot;/&gt;
             &lt;filter&gt;
                 &lt;groovy&gt;request.lineItems.any { i -&gt; i.value &gt; 100 }&lt;/groovy&gt;
@@ -1025,22 +872,7 @@ from(&quot;queue:foo&quot;).filter(groov
             &lt;/filter&gt;
         &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookLanguagesAppendix-ScriptContext.3">ScriptContext</h3>
-<p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> context </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.CamelContext</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Camel Context </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> exchange </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Exchange</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The current Exchange </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> request </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> The IN message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> response </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The OUT message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> properties </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.builder.script.PropertiesFunction</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example. </p></td></tr></tbody></table></div>
-
-
-<p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p>
-
-<h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.3">Additional arguments to ScriptingEngine</h3>
-<p><strong>Available as of Camel 2.8</strong></p>
-
-<p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none">
-See this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p></p><h3 id="BookLanguagesAppendix-ScriptContext.3">ScriptContext</h3><p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Attribute</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>context</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.CamelContext</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Camel Context ( It cannot be used in groovy)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">camelContext</td><td colspan="1" rowspan="1" class="confluenceTd">org.apache.camel.CamelContext</td><td colspan="1" rowspan="1" class="confluenceTd">The Camel Co
 ntext</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>exchange</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Exchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The current Exchange</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>request</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The IN message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>response</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The OUT message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.builder.script.PropertiesFunction</code></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example.</p></td></tr></tbody></table></div><p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p><h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.3">Additional arguments to ScriptingEngine</h3><p><strong>Available as of Camel 2.8</strong></p><p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none"> See this example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public void testArgumentsExample() throws Exception {
     if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
@@ -1061,49 +893,17 @@ public void testArgumentsExample() throw
     assertMockEndpointsSatisfied();
 }
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Usingpropertiesfunction.3">Using properties function</h3>
-<p><strong>Available as of Camel 2.9</strong></p>
-
-<p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none">
-For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Usingpropertiesfunction.3">Using properties function</h3><p><strong>Available as of Camel 2.9</strong></p><p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none"> For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
 ]]></script>
-</div></div>
-
-<p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
+</div></div><p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.6">Loading script from external resource</h3>
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none">
-This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.6">Loading script from external resource</h3><p><strong>Available as of Camel 2.11</strong></p><p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none"> This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Dependencies.11">Dependencies</h3>
-
-<p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="BookLanguagesAppendix-Dependencies.11">Dependencies</h3><p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine.</p><p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-script&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;
@@ -1154,20 +954,7 @@ This is done using the following syntax:
 ]]></script>
 </div></div>
 
-<h3 id="BookLanguagesAppendix-ScriptContext.4">ScriptContext</h3>
-<p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> context </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.CamelContext</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Camel Context </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> exchange </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Exchange</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The current Exchange </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> request </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> The IN message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> response </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The OUT message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> properties </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.builder.script.PropertiesFunction</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example. </p></td></tr></tbody></table></div>
-
-
-<p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p>
-
-<h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.4">Additional arguments to ScriptingEngine</h3>
-<p><strong>Available as of Camel 2.8</strong></p>
-
-<p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none">
-See this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookLanguagesAppendix-ScriptContext.4">ScriptContext</h3><p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Attribute</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>context</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.CamelContext</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Camel Context ( It cannot be used in groovy)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">camelContext</td><td colspan="1" rowspan="1" class="confluenceTd">org.apache.camel.CamelContext</td><td colspan="1" rowspan="1" class="confluenceTd">The Camel Context</td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"><p>exchange</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Exchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The current Exchange</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>request</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The IN message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>response</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The OUT message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.builder.script.PropertiesFunction</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p><strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example.</p></td></tr></tbody></table></div><p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p><h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.4">Additional arguments to ScriptingEngine</h3><p><strong>Available as of Camel 2.8</strong></p><p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none"> See this example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public void testArgumentsExample() throws Exception {
     if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
@@ -1188,49 +975,17 @@ public void testArgumentsExample() throw
     assertMockEndpointsSatisfied();
 }
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Usingpropertiesfunction.4">Using properties function</h3>
-<p><strong>Available as of Camel 2.9</strong></p>
-
-<p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none">
-For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Usingpropertiesfunction.4">Using properties function</h3><p><strong>Available as of Camel 2.9</strong></p><p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none"> For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
 ]]></script>
-</div></div>
-
-<p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
+</div></div><p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.7">Loading script from external resource</h3>
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none">
-This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.7">Loading script from external resource</h3><p><strong>Available as of Camel 2.11</strong></p><p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none"> This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Dependencies.12">Dependencies</h3>
-
-<p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="BookLanguagesAppendix-Dependencies.12">Dependencies</h3><p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine.</p><p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-script&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;
@@ -1251,20 +1006,7 @@ This is done using the following syntax:
 
 <p>For example you could use the <strong>php</strong> function to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a shape="rect" href="message-filter.html">Message Filter</a> or as an <a shape="rect" href="expression.html">Expression</a> for a <a shape="rect" href="recipient-list.html">Recipient List</a></p>
 
-<h3 id="BookLanguagesAppendix-ScriptContext.5">ScriptContext</h3>
-<p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> context </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.CamelContext</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Camel Context </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> exchange </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Exchange</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The current Exchange </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> request </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> The IN message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> response </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The OUT message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> properties </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.builder.script.PropertiesFunction</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example. </p></td></tr></tbody></table></div>
-
-
-<p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p>
-
-<h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.5">Additional arguments to ScriptingEngine</h3>
-<p><strong>Available as of Camel 2.8</strong></p>
-
-<p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none">
-See this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookLanguagesAppendix-ScriptContext.5">ScriptContext</h3><p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Attribute</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>context</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.CamelContext</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Camel Context ( It cannot be used in groovy)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">camelContext</td><td colspan="1" rowspan="1" class="confluenceTd">org.apache.camel.CamelContext</td><td colspan="1" rowspan="1" class="confluenceTd">The Camel Context</td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"><p>exchange</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Exchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The current Exchange</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>request</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The IN message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>response</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The OUT message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.builder.script.PropertiesFunction</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p><strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example.</p></td></tr></tbody></table></div><p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p><h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.5">Additional arguments to ScriptingEngine</h3><p><strong>Available as of Camel 2.8</strong></p><p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none"> See this example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public void testArgumentsExample() throws Exception {
     if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
@@ -1285,49 +1027,17 @@ public void testArgumentsExample() throw
     assertMockEndpointsSatisfied();
 }
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Usingpropertiesfunction.5">Using properties function</h3>
-<p><strong>Available as of Camel 2.9</strong></p>
-
-<p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none">
-For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Usingpropertiesfunction.5">Using properties function</h3><p><strong>Available as of Camel 2.9</strong></p><p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none"> For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
 ]]></script>
-</div></div>
-
-<p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
+</div></div><p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.8">Loading script from external resource</h3>
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none">
-This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.8">Loading script from external resource</h3><p><strong>Available as of Camel 2.11</strong></p><p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none"> This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Dependencies.13">Dependencies</h3>
-
-<p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="BookLanguagesAppendix-Dependencies.13">Dependencies</h3><p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine.</p><p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-script&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;
@@ -1378,20 +1088,7 @@ This is done using the following syntax:
 ]]></script>
 </div></div>
 
-<h3 id="BookLanguagesAppendix-ScriptContext.6">ScriptContext</h3>
-<p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Attribute </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> context </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.CamelContext</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Camel Context </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> exchange </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Exchange</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The current Exchange </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> request </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> The IN message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> response </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.Message</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The OUT message </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> properties </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>org.apache.camel.builder.script.PropertiesFunction</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example. </p></td></tr></tbody></table></div>
-
-
-<p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p>
-
-<h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.6">Additional arguments to ScriptingEngine</h3>
-<p><strong>Available as of Camel 2.8</strong></p>
-
-<p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none">
-See this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookLanguagesAppendix-ScriptContext.6">ScriptContext</h3><p>The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at <code>ENGINE_SCOPE</code>:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Attribute</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>context</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.CamelContext</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Camel Context ( It cannot be used in groovy)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">camelContext</td><td colspan="1" rowspan="1" class="confluenceTd">org.apache.camel.CamelContext</td><td colspan="1" rowspan="1" class="confluenceTd">The Camel Context</td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"><p>exchange</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Exchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The current Exchange</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>request</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The IN message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>response</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.Message</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The OUT message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.builder.script.PropertiesFunction</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p><strong>Camel 2.9:</strong> Function with a <code>resolve</code> method to make it easier to use Camels <a shape="rect" href="properties.html">Properties</a> component from scripts. See further below for example.</p></td></tr></tbody></table></div><p>See <a shape="rect" href="scripting-languages.html">Scripting Languages</a> for the list of languages with explicit DSL support.</p><h3 id="BookLanguagesAppendix-AdditionalargumentstoScriptingEngine.6">Additional arguments to ScriptingEngine</h3><p><strong>Available as of Camel 2.8</strong></p><p>You can provide additional arguments to the <code>ScriptingEngine</code> using a header on the Camel message with the key <code>CamelScriptArguments</code>.<br clear="none"> See this example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public void testArgumentsExample() throws Exception {
     if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
@@ -1412,49 +1109,17 @@ public void testArgumentsExample() throw
     assertMockEndpointsSatisfied();
 }
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Usingpropertiesfunction.6">Using properties function</h3>
-<p><strong>Available as of Camel 2.9</strong></p>
-
-<p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none">
-For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Usingpropertiesfunction.6">Using properties function</h3><p><strong>Available as of Camel 2.9</strong></p><p>If you need to use the <a shape="rect" href="properties.html">Properties</a> component from a script to lookup property placeholders, then its a bit cumbersome to do so.<br clear="none"> For example to set a header name myHeader with a value from a property placeholder, which key is provided in a header named "foo".</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;context.resolvePropertyPlaceholders(&#39;{{&#39; + request.headers.get(&#39;foo&#39;) + &#39;}}&#39;)&quot;)
 ]]></script>
-</div></div>
-
-<p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
+</div></div><p>From Camel 2.9 onwards you can now use the properties function and the same example is simpler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;properties.resolve(request.headers.get(&#39;foo&#39;))&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.9">Loading script from external resource</h3>
-<p><strong>Available as of Camel 2.11</strong></p>
-
-<p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none">
-This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
+</div></div><h3 id="BookLanguagesAppendix-Loadingscriptfromexternalresource.9">Loading script from external resource</h3><p><strong>Available as of Camel 2.11</strong></p><p>You can externalize the script and have Camel load it from a resource such as <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code>.<br clear="none"> This is done using the following syntax: <code>"resource:scheme:location"</code>, eg to refer to a file on the classpath you can do:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[.setHeader(&quot;myHeader&quot;).groovy(&quot;resource:classpath:mygroovy.groovy&quot;)
 ]]></script>
-</div></div>
-
-
-<h3 id="BookLanguagesAppendix-Dependencies.14">Dependencies</h3>
-
-<p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine. </p>
-
-<p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><h3 id="BookLanguagesAppendix-Dependencies.14">Dependencies</h3><p>To use scripting languages in your camel routes you need to add the a dependency on <strong>camel-script</strong> which integrates the JSR-223 scripting engine.</p><p>If you use maven you could just add the following to your pom.xml, substituting the version number for the latest &amp; greatest release (see <a shape="rect" href="download.html">the download page for the latest versions</a>).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-script&lt;/artifactId&gt;
   &lt;version&gt;x.x.x&lt;/version&gt;

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



Mime
View raw message