You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2013/08/22 09:20:54 UTC

svn commit: r875673 [3/3] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache seda.html

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 Thu Aug 22 07:20:53 2013
@@ -4901,25 +4901,7 @@ public static void main(final String[] a
 <p>The <b>proxy</b> will create a proxy service bean for you to use to make the remote invocations. The <b>serviceInterface</b> property details which Java interface is to be implemented by the proxy. <b>serviceUrl</b> defines where messages sent to this proxy bean will be directed. Here we define the JMS endpoint with the "numbers" queue we used when working with Camel template directly. The value of the <b>id</b> property is the name that will be the given to the bean when it is exposed through the Spring <tt>ApplicationContext</tt>. We will use this name to retrieve the service in our client. I have named the bean <em>multiplierProxy</em> simply to highlight that it is not the same multiplier bean as is being used by <tt>CamelServer</tt>. They are in completely independent contexts and have no knowledge of each other. As you are trying to mask the fact that remoting is being used in a real application you would generally not include proxy in the name.</p>
 
 <p>And the Java client source code:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public static void main(final String[] args) {
-    System.out.println("Notice this client requires that the CamelServer is already running!");
-
-    ApplicationContext context = new ClassPathXmlApplicationContext("camel-client-remoting.xml");
-    // just get the proxy to the service and we as the client can use the "proxy" as it was
-    // a local object we are invoking. Camel will under the covers do the remote communication
-    // to the remote ActiveMQ server and fetch the response.
-    Multiplier multiplier = context.getBean("multiplierProxy", Multiplier.class);
-
-    System.out.println("Invoking the multiply with 33");
-    int response = multiplier.multiply(33);
-    System.out.println("... the result is: " + response);
-
-    System.exit(0);
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 <p>Again, the client is similar to the original client, but with some important differences.</p>
 <ol><li>The Spring context is created with the new <em>camel-client-remoting.xml</em></li><li>We retrieve the proxy bean instead of a <tt>ProducerTemplate</tt>. In a non-trivial example you would have the bean injected as in the standard Spring manner.</li><li>The multiply method is then called directly. In the client we are now working to an interface. There is no mention of Camel or JMS inside our Java code.</li></ol>
 
@@ -8903,16 +8885,7 @@ This is done using the following syntax:
 
 <p>The recipientList element of the Spring DSL can utilize a property expression like: </p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;route&gt;
-  &lt;from uri="direct:a" /&gt;
-  &lt;recipientList&gt;
-    &lt;property&gt;myProperty&lt;/property&gt;
-  &lt;/recipientList&gt;
-&lt;/route&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>In this case, the list of recipients are contained in the property 'myProperty'. </p>
 
@@ -9007,28 +8980,7 @@ from("direct:in").setHeader("firstName")
 
 <p>You can provide additional arguments to the <tt>ScriptingEngine</tt> using a header on the Camel message with the key <tt>CamelScriptArguments</tt>.<br clear="none">
 See this example:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public void testArgumentsExample() throws Exception {
-    if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
-        return;
-    }
-
-    getMockEndpoint("mock:result").expectedMessageCount(0);
-    getMockEndpoint("mock:unmatched").expectedMessageCount(1);
-
-    // additional arguments to ScriptEngine
-    Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
-    arguments.put("foo", "bar");
-    arguments.put("baz", 7);
-
-    // those additional arguments is provided as a header on the Camel Message
-    template.sendBodyAndHeader("direct:start", "hello", ScriptBuilder.ARGUMENTS, arguments);
-
-    assertMockEndpointsSatisfied();
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Usingpropertiesfunction"></a>Using properties function</h3>
@@ -9172,28 +9124,7 @@ from("direct:in").setHeader("firstName")
 
 <p>You can provide additional arguments to the <tt>ScriptingEngine</tt> using a header on the Camel message with the key <tt>CamelScriptArguments</tt>.<br clear="none">
 See this example:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public void testArgumentsExample() throws Exception {
-    if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
-        return;
-    }
-
-    getMockEndpoint("mock:result").expectedMessageCount(0);
-    getMockEndpoint("mock:unmatched").expectedMessageCount(1);
-
-    // additional arguments to ScriptEngine
-    Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
-    arguments.put("foo", "bar");
-    arguments.put("baz", 7);
-
-    // those additional arguments is provided as a header on the Camel Message
-    template.sendBodyAndHeader("direct:start", "hello", ScriptBuilder.ARGUMENTS, arguments);
-
-    assertMockEndpointsSatisfied();
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Usingpropertiesfunction"></a>Using properties function</h3>
@@ -9347,28 +9278,7 @@ from("direct:in").setHeader("firstName")
 
 <p>You can provide additional arguments to the <tt>ScriptingEngine</tt> using a header on the Camel message with the key <tt>CamelScriptArguments</tt>.<br clear="none">
 See this example:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public void testArgumentsExample() throws Exception {
-    if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
-        return;
-    }
-
-    getMockEndpoint("mock:result").expectedMessageCount(0);
-    getMockEndpoint("mock:unmatched").expectedMessageCount(1);
-
-    // additional arguments to ScriptEngine
-    Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
-    arguments.put("foo", "bar");
-    arguments.put("baz", 7);
-
-    // those additional arguments is provided as a header on the Camel Message
-    template.sendBodyAndHeader("direct:start", "hello", ScriptBuilder.ARGUMENTS, arguments);
-
-    assertMockEndpointsSatisfied();
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Usingpropertiesfunction"></a>Using properties function</h3>
@@ -9514,28 +9424,7 @@ from("direct:in").setHeader("firstName")
 
 <p>You can provide additional arguments to the <tt>ScriptingEngine</tt> using a header on the Camel message with the key <tt>CamelScriptArguments</tt>.<br clear="none">
 See this example:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public void testArgumentsExample() throws Exception {
-    if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
-        return;
-    }
-
-    getMockEndpoint("mock:result").expectedMessageCount(0);
-    getMockEndpoint("mock:unmatched").expectedMessageCount(1);
-
-    // additional arguments to ScriptEngine
-    Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
-    arguments.put("foo", "bar");
-    arguments.put("baz", 7);
-
-    // those additional arguments is provided as a header on the Camel Message
-    template.sendBodyAndHeader("direct:start", "hello", ScriptBuilder.ARGUMENTS, arguments);
-
-    assertMockEndpointsSatisfied();
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Usingpropertiesfunction"></a>Using properties function</h3>
@@ -9689,28 +9578,7 @@ from("direct:in").setHeader("firstName")
 
 <p>You can provide additional arguments to the <tt>ScriptingEngine</tt> using a header on the Camel message with the key <tt>CamelScriptArguments</tt>.<br clear="none">
 See this example:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public void testArgumentsExample() throws Exception {
-    if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
-        return;
-    }
-
-    getMockEndpoint("mock:result").expectedMessageCount(0);
-    getMockEndpoint("mock:unmatched").expectedMessageCount(1);
-
-    // additional arguments to ScriptEngine
-    Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
-    arguments.put("foo", "bar");
-    arguments.put("baz", 7);
-
-    // those additional arguments is provided as a header on the Camel Message
-    template.sendBodyAndHeader("direct:start", "hello", ScriptBuilder.ARGUMENTS, arguments);
-
-    assertMockEndpointsSatisfied();
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Usingpropertiesfunction"></a>Using properties function</h3>
@@ -9834,28 +9702,7 @@ from("direct:in").setHeader("firstName")
 
 <p>You can provide additional arguments to the <tt>ScriptingEngine</tt> using a header on the Camel message with the key <tt>CamelScriptArguments</tt>.<br clear="none">
 See this example:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public void testArgumentsExample() throws Exception {
-    if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
-        return;
-    }
-
-    getMockEndpoint("mock:result").expectedMessageCount(0);
-    getMockEndpoint("mock:unmatched").expectedMessageCount(1);
-
-    // additional arguments to ScriptEngine
-    Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
-    arguments.put("foo", "bar");
-    arguments.put("baz", 7);
-
-    // those additional arguments is provided as a header on the Camel Message
-    template.sendBodyAndHeader("direct:start", "hello", ScriptBuilder.ARGUMENTS, arguments);
-
-    assertMockEndpointsSatisfied();
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Usingpropertiesfunction"></a>Using properties function</h3>
@@ -10009,28 +9856,7 @@ from("direct:in").setHeader("firstName")
 
 <p>You can provide additional arguments to the <tt>ScriptingEngine</tt> using a header on the Camel message with the key <tt>CamelScriptArguments</tt>.<br clear="none">
 See this example:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-public void testArgumentsExample() throws Exception {
-    if (!ScriptTestHelper.canRunTestOnThisPlatform()) {
-        return;
-    }
-
-    getMockEndpoint("mock:result").expectedMessageCount(0);
-    getMockEndpoint("mock:unmatched").expectedMessageCount(1);
-
-    // additional arguments to ScriptEngine
-    Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
-    arguments.put("foo", "bar");
-    arguments.put("baz", 7);
-
-    // those additional arguments is provided as a header on the Camel Message
-    template.sendBodyAndHeader("direct:start", "hello", ScriptBuilder.ARGUMENTS, arguments);
-
-    assertMockEndpointsSatisfied();
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Usingpropertiesfunction"></a>Using properties function</h3>
@@ -15074,11 +14900,7 @@ from("direct:hmac")
 
 <p>or with spring.</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;crypto id="hmac" algorithm="DES" keyRef="desKey" shouldAppendHMAC="true" /&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>By default the HMAC is calculated using the HmacSHA1 mac algorithm though this can be easily changed by supplying a different algorithm name. See <span class="error">[here]</span> for how to check what algorithms are available through the configured security providers</p>
 
@@ -15100,11 +14922,7 @@ from("direct:hmac-algorithm")
 
 <p>or with spring.</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;crypto id="hmac-algorithm" algorithm="DES" keyRef="desKey" macAlgorithm="HmacMD5" shouldAppendHMAC="true" /&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <h3><a shape="rect" name="BookInOnePage-SupplyingKeysDynamically"></a>Supplying Keys Dynamically</h3>
 
@@ -15164,72 +14982,15 @@ from("direct:key-in-header-decrypt").unm
 
 <p>The following sample uses the popular PGP format for encrypting/decrypting files using the <a shape="rect" class="external-link" href="http://www.bouncycastle.org/java.html" rel="nofollow">Bouncy Castle Java libraries</a>:</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-// Public Key FileName
-String keyFileName = getKeyFileName();
-// Private Key FileName
-String keyFileNameSec = getKeyFileNameSec();
-// Keyring Userid Used to Encrypt
-String keyUserid = getKeyUserId();
-// Private key password
-String keyPassword = getKeyPassword();
-
-from("direct:inline")
-        .marshal().pgp(keyFileName, keyUserid)
-        .to("mock:encrypted")
-        .unmarshal().pgp(keyFileNameSec, keyUserid, keyPassword)
-        .to("mock:unencrypted");
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>The following sample performs signing + encryption, and then signature verification + decryption. It uses the same keyring for both signing and encryption, but you can obviously use different keys:</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-PGPDataFormat pgpSignAndEncrypt = new PGPDataFormat();
-pgpSignAndEncrypt.setKeyFileName(keyFileName);
-pgpSignAndEncrypt.setKeyUserid(keyUserid);
-pgpSignAndEncrypt.setSignatureKeyFileName(keyFileNameSec);
-pgpSignAndEncrypt.setSignatureKeyUserid(keyUserid);
-pgpSignAndEncrypt.setSignaturePassword(keyPassword);
-
-PGPDataFormat pgpVerifyAndDecrypt = new PGPDataFormat();
-pgpVerifyAndDecrypt.setKeyFileName(keyFileNameSec);
-pgpVerifyAndDecrypt.setKeyUserid(keyUserid);
-pgpVerifyAndDecrypt.setPassword(keyPassword);
-pgpVerifyAndDecrypt.setSignatureKeyFileName(keyFileName);
-pgpVerifyAndDecrypt.setSignatureKeyUserid(keyUserid);
-
-from("direct:inline-sign")
-        .marshal(pgpSignAndEncrypt)
-        .to("mock:encrypted")
-        .unmarshal(pgpVerifyAndDecrypt)
-        .to("mock:unencrypted");
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>Or using Spring:</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;dataFormats&gt;
-  &lt;!-- will load the file from classpath by default, but you can prefix with file: to load from file system --&gt;
-  &lt;pgp id="encrypt" keyFileName="org/apache/camel/component/crypto/pubring.gpg"
-       keyUserid="sdude@nowhere.net"/&gt;
-  &lt;pgp id="decrypt" keyFileName="org/apache/camel/component/crypto/secring.gpg"
-       keyUserid="sdude@nowhere.net" password="sdude"/&gt;
-&lt;/dataFormats&gt;
-
-&lt;route&gt;
-  &lt;from uri="direct:inline"/&gt;
-  &lt;marshal ref="encrypt"/&gt;
-  &lt;to uri="mock:encrypted"/&gt;
-  &lt;unmarshal ref="decrypt"/&gt;
-  &lt;to uri="mock:unencrypted"/&gt;
-&lt;/route&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <h4><a shape="rect" name="BookInOnePage-Toworkwiththepreviousexampleyouneedthefollowing"></a>To work with the previous example you need the following</h4>
 <ul><li>A public keyring file which contains the public keys used to encrypt the data</li><li>A private keyring file which contains the keys used to decrypt the data</li><li>The keyring password</li></ul>
@@ -15443,11 +15204,7 @@ from("direct:startInOut").inOut("bean:pr
 
 <p>You can create pipelines of logic using multiple <a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a> or <a shape="rect" href="message-translator.html" title="Message Translator">Message Translator</a> instances as follows</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-from("direct:a").pipeline("direct:x", "direct:y", "direct:z", "mock:result");
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>Though pipeline is the default mode of operation when you specify multiple outputs in Camel. The opposite to pipeline is multicast; which fires the same message into each of its outputs. (See the example below).</p>
 
@@ -15517,48 +15274,10 @@ from("direct:a").pipeline("direct:x", "d
 <p>The following example shows how to route a request from an input <b>queue:a</b> endpoint to either <b>queue:b</b>, <b>queue:c</b> or <b>queue:d</b> depending on the evaluation of various <a shape="rect" href="predicate.html" title="Predicate">Predicate</a> expressions</p>
 
 <p><b>Using the <a shape="rect" href="fluent-builders.html" title="Fluent Builders">Fluent Builders</a></b></p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .choice()
-                .when(header("foo").isEqualTo("bar"))
-                    .to("direct:b")
-                .when(header("foo").isEqualTo("cheese"))
-                    .to("direct:c")
-                .otherwise()
-                    .to("direct:d");
-    }
-};
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p><b>Using the <a shape="rect" href="spring-xml-extensions.html" title="Spring XML Extensions">Spring XML Extensions</a></b></p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;camelContext errorHandlerRef="errorHandler" xmlns="http://camel.apache.org/schema/spring"&gt;
-    &lt;route&gt;
-        &lt;from uri="direct:a"/&gt;
-        &lt;choice&gt;
-            &lt;when&gt;
-                &lt;xpath&gt;$foo = 'bar'&lt;/xpath&gt;
-                &lt;to uri="direct:b"/&gt;
-            &lt;/when&gt;
-            &lt;when&gt;
-                &lt;xpath&gt;$foo = 'cheese'&lt;/xpath&gt;
-                &lt;to uri="direct:c"/&gt;
-            &lt;/when&gt;
-            &lt;otherwise&gt;
-                &lt;to uri="direct:d"/&gt;
-            &lt;/otherwise&gt;
-        &lt;/choice&gt;
-    &lt;/route&gt;
-&lt;/camelContext&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <h4><a shape="rect" name="BookInOnePage-Choicewithoutotherwise"></a>Choice without otherwise</h4>
 <p>If you use a <tt>choice</tt> without adding an <tt>otherwise</tt>, any unmatched exchanges will be dropped by default. </p>
@@ -15599,28 +15318,12 @@ from("direct:start").process(new Process
 </div></div>
 
 <p>or you can use the DSL to explicitly configure the transformation</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-from("direct:start").transform(body().append(" World!")).to("mock:result");
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p><b>Use Spring XML</b></p>
 
 <p>You can also use <a shape="rect" href="spring-xml-extensions.html" title="Spring XML Extensions">Spring XML Extensions</a> to do a transformation. Basically any <a shape="rect" href="expression.html" title="Expression">Expression</a> language can be substituted inside the transform element as shown below</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;camelContext xmlns="http://camel.apache.org/schema/spring"&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:start"/&gt;
-    &lt;transform&gt;
-      &lt;simple&gt;${in.body} extra data!&lt;/simple&gt;
-    &lt;/transform&gt;
-    &lt;to uri="mock:end"/&gt;
-  &lt;/route&gt;
-&lt;/camelContext&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>Or you can use the <a shape="rect" href="bean-integration.html" title="Bean Integration">Bean Integration</a> to invoke a bean</p>
 
@@ -15947,75 +15650,18 @@ String failedRouteId = exchange.getPrope
 <p>Prior to Camel 2.10, Camel will perform redelivery while stopping a route, or shutting down Camel. This has improved a bit in Camel 2.10 onwards, as Camel will not perform redelivery attempts when shutting down aggressively (eg during <a shape="rect" href="graceful-shutdown.html" title="Graceful Shutdown">Graceful Shutdown</a> and timeout hit). From Camel 2.11 onwards there is a new option <tt>allowRedeliveryWhileStopping</tt> which you can use to control if redelivery is allowed or not; notice that any in progress redelivery will still be executed. This option can only disallow any redelivery to be executed <b>after</b> the stopping of a route/shutdown of Camel has been triggered. If a redelivery is dissallowed then a <tt>RejectedExcutionException</tt> is set on the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> and the processing of the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> stops. This means any consumer will see the <a shape="re
 ct" href="exchange.html" title="Exchange">Exchange</a> as failed due the <tt>RejectedExecutionException</tt>.</p>
 
 <p>The default value is <tt>true</tt> to be backwards compatible as before. For example the following sample shows how to do this with Java DSL and XML DSL</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-
-// this error handler will try up till 20 redelivery attempts with 1 second between.
-// however if we are stopping then do not allow any redeliver attempts.
-errorHandler(defaultErrorHandler()
-        .allowRedeliveryWhileStopping(false)
-        .maximumRedeliveries(20).redeliveryDelay(1000).retryAttemptedLogLevel(LoggingLevel.INFO));
-
-from("seda:foo").routeId("foo")
-    .to("mock:foo")
-    .throwException(new IllegalArgumentException("Forced"));
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>And the sample sample with XML DSL</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;!-- notice we use the errorHandlerRef attribute to refer to the error handler to use as default --&gt;
-   &lt;camelContext errorHandlerRef="myErrorHandler" xmlns="http://camel.apache.org/schema/spring"&gt;
-
-	&lt;!-- configure error handler, to redeliver up till 10 times, with 1 sec delay
-	     and if we are stopping then do not allow redeliveries, to stop faster --&gt;
-	&lt;errorHandler id="myErrorHandler" type="DefaultErrorHandler"&gt;
-		&lt;redeliveryPolicy maximumRedeliveries="20" redeliveryDelay="1000" allowRedeliveryWhileStopping="false" retryAttemptedLogLevel="INFO"/&gt;
-	&lt;/errorHandler&gt;
-
-       &lt;route id="foo"&gt;
-           &lt;from uri="seda:foo"/&gt;
-		&lt;to uri="mock:foo"/&gt;
-		&lt;throwException ref="forced"/&gt;
-       &lt;/route&gt;
-
-   &lt;/camelContext&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3><a shape="rect" name="BookInOnePage-Samples"></a>Samples</h3>
 <p>The following example shows how to configure the Dead Letter Channel configuration using the <a shape="rect" href="dsl.html" title="DSL">DSL</a></p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        // using dead letter channel with a seda queue for errors
-        errorHandler(deadLetterChannel("seda:errors"));
-
-        // here is our route
-        from("seda:a").to("seda:b");
-    }
-};
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>You can also configure the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/RedeliveryPolicy.html">RedeliveryPolicy</a> as this example shows</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        // configures dead letter channel to use seda queue for errors and use at most 2 redelveries
-        // and exponential backoff
-        errorHandler(deadLetterChannel("seda:errors").maximumRedeliveries(2).useExponentialBackOff());
-
-        // here is our route
-        from("seda:a").to("seda:b");
-    }
-};
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <h3><a shape="rect" name="BookInOnePage-HowcanImodifytheExchangebeforeredelivery%3F"></a>How can I modify the Exchange before redelivery?</h3>
 <p>We support directly in <a shape="rect" href="dead-letter-channel.html" title="Dead Letter Channel">Dead Letter Channel</a> to set a <a shape="rect" href="processor.html" title="Processor">Processor</a> that is executed <b>before</b> each redelivery attempt. </p>
@@ -16023,42 +15669,10 @@ RouteBuilder builder = new RouteBuilder(
 <p>When <a shape="rect" href="dead-letter-channel.html" title="Dead Letter Channel">Dead Letter Channel</a> is doing redeliver its possible to configure a <a shape="rect" href="processor.html" title="Processor">Processor</a> that is executed just <b>before</b> every redelivery attempt. This can be used for the situations where you need to alter the message before its redelivered.  </p>
 
 <p>Here we configure the <a shape="rect" href="dead-letter-channel.html" title="Dead Letter Channel">Dead Letter Channel</a> to use our processor <tt>MyRedeliveryProcessor</tt> to be executed before each redelivery.</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-// we configure our Dead Letter Channel to invoke
-// MyRedeliveryProcessor before a redelivery is
-// attempted. This allows us to alter the message before
-errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(5)
-        .onRedelivery(new MyRedeliverProcessor())
-        // setting delay to zero is just to make unit testing faster
-        .redeliveryDelay(0L));
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>And this is the processor <tt>MyRedeliveryProcessor</tt> where we alter the message. </p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-// This is our processor that is executed before every redelivery attempt
-// here we can do what we want in the java code, such as altering the message
-public class MyRedeliverProcessor implements Processor {
-
-    public void process(Exchange exchange) throws Exception {
-        // the message is being redelivered so we can alter it
-
-        // we just append the redelivery counter to the body
-        // you can of course do all kind of stuff instead
-        String body = exchange.getIn().getBody(String.class);
-        int count = exchange.getIn().getHeader(Exchange.REDELIVERY_COUNTER, Integer.class);
-
-        exchange.getIn().setBody(body + count);
-
-        // the maximum redelivery was set to 5
-        int max = exchange.getIn().getHeader(Exchange.REDELIVERY_MAX_COUNTER, Integer.class);
-        assertEquals(5, max);
-    }
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <h4><a shape="rect" name="BookInOnePage-UsingThisPattern"></a>Using This Pattern</h4>
 
@@ -16212,56 +15826,7 @@ from("direct:testSetExchangePatternInOnl
 ]]></script>
 </div></div>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;camelContext xmlns="http://camel.apache.org/schema/spring"&gt;
-  &lt;!-- Send the exchange as InOnly --&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testInOut"/&gt;
-    &lt;inOut uri="mock:result"/&gt;
-  &lt;/route&gt;
-
-  &lt;!-- Send the exchange as InOnly --&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testInOnly"/&gt;
-    &lt;inOnly uri="mock:result"/&gt;
-  &lt;/route&gt;
-
-
-  &lt;!-- lets set the exchange pattern then send it on --&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testSetToInOnlyThenTo"/&gt;
-    &lt;setExchangePattern pattern="InOnly"/&gt;
-    &lt;to uri="mock:result"/&gt;      
-  &lt;/route&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testSetToInOutThenTo"/&gt;
-    &lt;setExchangePattern pattern="InOut"/&gt;
-    &lt;to uri="mock:result"/&gt;
-  &lt;/route&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testSetExchangePatternInOnly"/&gt;
-    &lt;setExchangePattern pattern="InOnly"/&gt;
-    &lt;to uri="mock:result"/&gt;
-  &lt;/route&gt;
-
-
-  &lt;!-- Lets pass the pattern as an argument in the to element --&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testToWithInOnlyParam"/&gt;
-    &lt;to uri="mock:result" pattern="InOnly"/&gt;
-  &lt;/route&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testToWithInOutParam"/&gt;
-    &lt;to uri="mock:result" pattern="InOut"/&gt;
-  &lt;/route&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testToWithRobustInOnlyParam"/&gt;
-    &lt;to uri="mock:result" pattern="RobustInOnly"/&gt;
-  &lt;/route&gt;
- &lt;/camelContext&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <h4><a shape="rect" name="BookInOnePage-UsingThisPattern"></a>Using This Pattern</h4>
 
@@ -16346,50 +15911,12 @@ from("activemq:queue:bar?disableReplyTo=
 <p>The following example shows how to route a request from an input <b>seda:a</b> endpoint to either <b>seda:b</b>, <b>seda:c</b> or <b>seda:d</b> depending on the evaluation of various <a shape="rect" href="predicate.html" title="Predicate">Predicate</a> expressions</p>
 
 <p><b>Using the <a shape="rect" href="fluent-builders.html" title="Fluent Builders">Fluent Builders</a></b></p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .choice()
-                .when(header("foo").isEqualTo("bar"))
-                    .to("direct:b")
-                .when(header("foo").isEqualTo("cheese"))
-                    .to("direct:c")
-                .otherwise()
-                    .to("direct:d");
-    }
-};
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">See <a shape="rect" href="why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html" title="Why can I not use when or otherwise in a Java Camel route">Why can I not use when or otherwise in a Java Camel route</a> if you have problems with the Java DSL, accepting using <tt>when</tt> or <tt>otherwise</tt>.</td></tr></table></div>
 
 <p><b>Using the <a shape="rect" href="spring-xml-extensions.html" title="Spring XML Extensions">Spring XML Extensions</a></b></p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;camelContext errorHandlerRef="errorHandler" xmlns="http://camel.apache.org/schema/spring"&gt;
-    &lt;route&gt;
-        &lt;from uri="direct:a"/&gt;
-        &lt;choice&gt;
-            &lt;when&gt;
-                &lt;xpath&gt;$foo = 'bar'&lt;/xpath&gt;
-                &lt;to uri="direct:b"/&gt;
-            &lt;/when&gt;
-            &lt;when&gt;
-                &lt;xpath&gt;$foo = 'cheese'&lt;/xpath&gt;
-                &lt;to uri="direct:c"/&gt;
-            &lt;/when&gt;
-            &lt;otherwise&gt;
-                &lt;to uri="direct:d"/&gt;
-            &lt;/otherwise&gt;
-        &lt;/choice&gt;
-    &lt;/route&gt;
-&lt;/camelContext&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>For further examples of this pattern in use you could look at the <a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceTest.java?view=markup">junit test case</a></p>
 <h4><a shape="rect" name="BookInOnePage-UsingThisPattern"></a>Using This Pattern</h4>
@@ -16404,19 +15931,7 @@ RouteBuilder builder = new RouteBuilder(
 <p>The following example shows how to create a Message Filter route consuming messages from an endpoint called <b>queue:a</b>, which if the <a shape="rect" href="predicate.html" title="Predicate">Predicate</a> is true will be dispatched to <b>queue:b</b></p>
 
 <p><b>Using the <a shape="rect" href="fluent-builders.html" title="Fluent Builders">Fluent Builders</a></b></p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .filter(header("foo").isEqualTo("bar"))
-                .to("direct:b");
-    }
-};
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>You can, of course, use many different <a shape="rect" href="predicate.html" title="Predicate">Predicate</a> languages such as <a shape="rect" href="xpath.html" title="XPath">XPath</a>, <a shape="rect" href="xquery.html" title="XQuery">XQuery</a>, <a shape="rect" href="sql.html" title="SQL">SQL</a> or various <a shape="rect" href="scripting-languages.html" title="Scripting Languages">Scripting Languages</a>. Here is an <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathFilterTest.java">XPath  example</a> </p>
 
@@ -16445,19 +15960,7 @@ public static class MyBean {
 
 <p><b>Using the <a shape="rect" href="spring-xml-extensions.html" title="Spring XML Extensions">Spring XML Extensions</a></b></p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;camelContext errorHandlerRef="errorHandler" xmlns="http://camel.apache.org/schema/spring"&gt;
-    &lt;route&gt;
-        &lt;from uri="direct:a"/&gt;
-        &lt;filter&gt;
-            &lt;xpath&gt;$foo = 'bar'&lt;/xpath&gt;
-            &lt;to uri="direct:b"/&gt;
-        &lt;/filter&gt;
-    &lt;/route&gt;
-&lt;/camelContext&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>filtered endpoint required inside &lt;/filter&gt; tag</b><br clear="none">make sure you put the endpoint you want to filter (&lt;to uri="seda:b"/&gt;, etc.) before the closing &lt;/filter&gt; tag or the filter will not be applied (in 2.8+, omitting this will result in an error)</td></tr></table></div>
 
@@ -16469,17 +15972,7 @@ public static class MyBean {
 <p>Stop is a bit different than a message filter as it will filter out all messages and end the route entirely (filter only applies to its child processor). Stop is convenient to use in a <a shape="rect" href="content-based-router.html" title="Content Based Router">Content Based Router</a> when you for example need to stop further processing in one of the predicates.</p>
 
 <p>In the example below we do not want to route messages any further that has the word <tt>Bye</tt> in the message body. Notice how we prevent this in the when predicate by using the <tt>.stop()</tt>.</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-from("direct:start")
-    .choice()
-        .when(body().contains("Hello")).to("mock:hello")
-        .when(body().contains("Bye")).to("mock:bye").stop()
-        .otherwise().to("mock:other")
-    .end()
-    .to("mock:result");
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h4><a shape="rect" name="BookInOnePage-KnowingifExchangewasfilteredornot"></a>Knowing if <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> was filtered or not</h4>
@@ -16519,43 +16012,11 @@ from("direct:start")
 
 <p>In Java DSL you can use the <tt>dynamicRouter</tt> as shown below:</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-from("direct:start")
-    // use a bean as the dynamic router
-    .dynamicRouter(method(DynamicRouterTest.class, "slip"));
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>Which will leverage a <a shape="rect" href="bean.html" title="Bean">Bean</a> to compute the slip <em>on-the-fly</em>, which could be implemented as follows:</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-/**
- * Use this method to compute dynamic where we should route next.
- *
- * @param body the message body
- * @return endpoints to go, or &lt;tt&gt;null&lt;/tt&gt; to indicate the end
- */
-public String slip(String body) {
-    bodies.add(body);
-    invoked++;
-
-    if (invoked == 1) {
-        return "mock:a";
-    } else if (invoked == 2) {
-        return "mock:b,mock:c";
-    } else if (invoked == 3) {
-        return "direct:foo";
-    } else if (invoked == 4) {
-        return "mock:result";
-    }
-
-    // no more so return null
-    return null;
-}
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>Mind that this example is only for show and tell. The current implementation is not thread safe. You would have to store the state on the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a>, to ensure thread safety, as shown below: </p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
@@ -16604,28 +16065,7 @@ public String slip(String body, @Propert
 <h4><a shape="rect" name="BookInOnePage-SpringXML"></a>Spring XML</h4>
 <p>The same example in Spring XML would be:</p>
 
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;bean id="mySlip" class="org.apache.camel.processor.DynamicRouterTest"/&gt;
-
-&lt;camelContext xmlns="http://camel.apache.org/schema/spring"&gt;
-    &lt;route&gt;
-        &lt;from uri="direct:start"/&gt;
-        &lt;dynamicRouter&gt;
-            &lt;!-- use a method call on a bean as dynamic router --&gt;
-            &lt;method ref="mySlip" method="slip"/&gt;
-        &lt;/dynamicRouter&gt;
-    &lt;/route&gt;
-
-    &lt;route&gt;
-        &lt;from uri="direct:foo"/&gt;
-        &lt;transform&gt;&lt;constant&gt;Bye World&lt;/constant&gt;&lt;/transform&gt;
-        &lt;to uri="mock:foo"/&gt;
-    &lt;/route&gt;
-
-&lt;/camelContext&gt;
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <h4><a shape="rect" name="BookInOnePage-@DynamicRouterannotation"></a>@DynamicRouter annotation</h4>
 
@@ -36837,7 +36277,7 @@ seda:someName[?options]
 
 <h3><a shape="rect" name="BookInOnePage-Options"></a>Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Since </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>size</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). The default value in Camel 2.2 or older is <tt>1000</tt>. From Camel 2.3 onwards, the size is unbounded by default. <b>Notice:</b> Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created
 . From <b>Camel 2.11</b> onwards, a validation is taken place to ensure if using mixed queue sizes for the same queue name, Camel would detect this and fail creating the endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>concurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Number of concurrent threads processing exchanges. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>waitForTaskToComplete</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>IfReplyExpected</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: <tt>Always</tt>, <tt>Never</tt> or <tt>IfReplyExpecte
 d</tt>. The first two values are self-explanatory. The last value, <tt>IfReplyExpected</tt>, will only wait if the message is <a shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> based. The default option is <tt>IfReplyExpected</tt>. See more information about <a shape="rect" href="async.html" title="Async">Async</a> messaging. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. See <tt>waitForTaskToComplete</tt> and <a shape="rect" href="async.html" title="Async">Async</a> for more details. In <b>Camel 2.2</b> you can now disable timeout by using 0 or a negative value. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>mult
 ipleConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.2</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies whether multiple consumers are allowed. If enabled, you can use <a shape="rect" href="seda.html" title="SEDA">SEDA</a> for <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" rel="nofollow">Publish-Subscribe</a> messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>limitConcurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether to limit the number of <
 tt>concurrentConsumers</tt> to the maximum of <tt>500</tt>. By default, an exception will be thrown if a SEDA endpoint is configured with a greater number. You can disable that check by turning this option off. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>blockWhenFull</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted.  By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160
 ;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Component only:</b> The maximum default size (capacity of the number of messages it can hold) of the SEDA queue. This option is used if <tt>size</tt> is not in use. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>pollTimeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <em>Consumer only</em> &#8211; The timeout used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>purgeWhenStopping</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.11.1</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"> Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queue</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the queue instance which will be used by seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueFactory</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the QueueFactory which could create the queue for the seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>failIfNoConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> false </td><td colspan="1" rowspan="1" class="confluenceTd"> When the seda producer send the message to queue, the SedaConsumerNotAvailableException will be thrown if the failIfNoConsumers is true</td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Since </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>size</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). The default value in Camel 2.2 or older is <tt>1000</tt>. From Camel 2.3 onwards, the size is unbounded by default. <b>Notice:</b> Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created
 . From <b>Camel 2.11</b> onwards, a validation is taken place to ensure if using mixed queue sizes for the same queue name, Camel would detect this and fail creating the endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>concurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Number of concurrent threads processing exchanges. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>waitForTaskToComplete</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>IfReplyExpected</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: <tt>Always</tt>, <tt>Never</tt> or <tt>IfReplyExpecte
 d</tt>. The first two values are self-explanatory. The last value, <tt>IfReplyExpected</tt>, will only wait if the message is <a shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> based. The default option is <tt>IfReplyExpected</tt>. See more information about <a shape="rect" href="async.html" title="Async">Async</a> messaging. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. See <tt>waitForTaskToComplete</tt> and <a shape="rect" href="async.html" title="Async">Async</a> for more details. In <b>Camel 2.2</b> you can now disable timeout by using 0 or a negative value. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>mult
 ipleConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.2</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies whether multiple consumers are allowed. If enabled, you can use <a shape="rect" href="seda.html" title="SEDA">SEDA</a> for <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" rel="nofollow">Publish-Subscribe</a> messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>limitConcurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether to limit the number of <
 tt>concurrentConsumers</tt> to the maximum of <tt>500</tt>. By default, an exception will be thrown if a SEDA endpoint is configured with a greater number. You can disable that check by turning this option off. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>blockWhenFull</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted.  By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160
 ;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Component only:</b> The maximum default size (capacity of the number of messages it can hold) of the SEDA queue. This option is used if <tt>size</tt> is not in use. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>pollTimeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <em>Consumer only</em> &#8211; The timeout used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>purgeWhenStopping</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.11.1</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"> Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queue</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the queue instance which will be used by seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueFactory</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the QueueFactory which could create the queue for the seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>failIfNoConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> false </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether the producer should fail by throwing an exception, when sending to a SEDA queue with no active consumers. </td></tr></tbody></table>
 </div>
 </div>
 

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

Modified: websites/production/camel/content/seda.html
==============================================================================
--- websites/production/camel/content/seda.html (original)
+++ websites/production/camel/content/seda.html Thu Aug 22 07:20:53 2013
@@ -109,7 +109,7 @@ seda:someName[?options]
 
 <h3><a shape="rect" name="SEDA-Options"></a>Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Since </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>size</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). The default value in Camel 2.2 or older is <tt>1000</tt>. From Camel 2.3 onwards, the size is unbounded by default. <b>Notice:</b> Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created
 . From <b>Camel 2.11</b> onwards, a validation is taken place to ensure if using mixed queue sizes for the same queue name, Camel would detect this and fail creating the endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>concurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Number of concurrent threads processing exchanges. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>waitForTaskToComplete</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>IfReplyExpected</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: <tt>Always</tt>, <tt>Never</tt> or <tt>IfReplyExpecte
 d</tt>. The first two values are self-explanatory. The last value, <tt>IfReplyExpected</tt>, will only wait if the message is <a shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> based. The default option is <tt>IfReplyExpected</tt>. See more information about <a shape="rect" href="async.html" title="Async">Async</a> messaging. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. See <tt>waitForTaskToComplete</tt> and <a shape="rect" href="async.html" title="Async">Async</a> for more details. In <b>Camel 2.2</b> you can now disable timeout by using 0 or a negative value. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>mult
 ipleConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.2</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies whether multiple consumers are allowed. If enabled, you can use <a shape="rect" href="seda.html" title="SEDA">SEDA</a> for <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" rel="nofollow">Publish-Subscribe</a> messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>limitConcurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether to limit the number of <
 tt>concurrentConsumers</tt> to the maximum of <tt>500</tt>. By default, an exception will be thrown if a SEDA endpoint is configured with a greater number. You can disable that check by turning this option off. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>blockWhenFull</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted.  By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160
 ;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Component only:</b> The maximum default size (capacity of the number of messages it can hold) of the SEDA queue. This option is used if <tt>size</tt> is not in use. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>pollTimeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <em>Consumer only</em> &#8211; The timeout used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>purgeWhenStopping</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.11.1</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"> Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queue</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the queue instance which will be used by seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueFactory</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the QueueFactory which could create the queue for the seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>failIfNoConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> false </td><td colspan="1" rowspan="1" class="confluenceTd"> When the seda producer send the message to queue, the SedaConsumerNotAvailableException will be thrown if the failIfNoConsumers is true</td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Since </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>size</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). The default value in Camel 2.2 or older is <tt>1000</tt>. From Camel 2.3 onwards, the size is unbounded by default. <b>Notice:</b> Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created
 . From <b>Camel 2.11</b> onwards, a validation is taken place to ensure if using mixed queue sizes for the same queue name, Camel would detect this and fail creating the endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>concurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Number of concurrent threads processing exchanges. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>waitForTaskToComplete</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>IfReplyExpected</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: <tt>Always</tt>, <tt>Never</tt> or <tt>IfReplyExpecte
 d</tt>. The first two values are self-explanatory. The last value, <tt>IfReplyExpected</tt>, will only wait if the message is <a shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> based. The default option is <tt>IfReplyExpected</tt>. See more information about <a shape="rect" href="async.html" title="Async">Async</a> messaging. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>timeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>30000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. See <tt>waitForTaskToComplete</tt> and <a shape="rect" href="async.html" title="Async">Async</a> for more details. In <b>Camel 2.2</b> you can now disable timeout by using 0 or a negative value. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>mult
 ipleConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.2</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies whether multiple consumers are allowed. If enabled, you can use <a shape="rect" href="seda.html" title="SEDA">SEDA</a> for <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" rel="nofollow">Publish-Subscribe</a> messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>limitConcurrentConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether to limit the number of <
 tt>concurrentConsumers</tt> to the maximum of <tt>500</tt>. By default, an exception will be thrown if a SEDA endpoint is configured with a greater number. You can disable that check by turning this option off. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>blockWhenFull</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted.  By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueSize</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9</b> </td><td colspan="1" rowspan="1" class="confluenceTd">&#160
 ;</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Component only:</b> The maximum default size (capacity of the number of messages it can hold) of the SEDA queue. This option is used if <tt>size</tt> is not in use. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>pollTimeout</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.9.3</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1000</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <em>Consumer only</em> &#8211; The timeout used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>purgeWhenStopping</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.11.1</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"> Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queue</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the queue instance which will be used by seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>queueFactory</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> null </td><td colspan="1" rowspan="1" class="confluenceTd"> Define the QueueFactory which could create the queue for the seda endpoint </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>failIfNoConsumers</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>2.12.0</b> </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> false </td><td colspan="1" rowspan="1" class="confluenceTd"> Whether the producer should fail by throwing an exception, when sending to a SEDA queue with no active consumers. </td></tr></tbody></table>
 </div>
 </div>