Author: buildbot Date: Wed Aug 12 13:20:54 2015 New Revision: 961621 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/book-in-one-page.html websites/production/camel/content/book-pattern-appendix.html websites/production/camel/content/cache/main.pageCache websites/production/camel/content/polling-consumer.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 Wed Aug 12 13:20:54 2015 @@ -3685,11 +3685,11 @@ The tutorial has been designed in two pa While not actual tutorials you might find working through the source of the various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul> <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</h2><p> </p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Thanks</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This tutorial was kindly donated to Apache Camel by Martin Gilday.</p></div></div><h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service. The route works in a synchronous fashion returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1439381869005 {padding: 0px;} -div.rbtoc1439381869005 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1439381869005 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1439385535840 {padding: 0px;} +div.rbtoc1439385535840 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1439385535840 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1439381869005"> +/*]]>*/</style></p><div class="toc-macro rbtoc1439385535840"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-About">About</a></li><li><a shape="rect" href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul> </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the Server</a> @@ -5789,11 +5789,11 @@ So we completed the last piece in the pi <p>This example has been removed from <strong>Camel 2.9</strong> onwards. Apache Axis 1.4 is a very old and unsupported framework. We encourage users to use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div> <style type="text/css">/*<![CDATA[*/ -div.rbtoc1439381869642 {padding: 0px;} -div.rbtoc1439381869642 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1439381869642 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1439385536451 {padding: 0px;} +div.rbtoc1439385536451 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1439385536451 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style><div class="toc-macro rbtoc1439381869642"> +/*]]>*/</style><div class="toc-macro rbtoc1439385536451"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#BookInOnePage-RunningtheExample">Running the Example</a></li></ul> @@ -15595,7 +15595,7 @@ from("file://inbox").sort(body PollingConsumer consumer = endpoint.createPollingConsumer(); Exchange exchange = consumer.receive(); ]]></script> -</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also available.</p><p>There are 3 main polling methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is available and then returns it; potentially blocking forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel. apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange, waiting up to the given timeout and returning null if no message exchange could be received within the time available</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet</p></td></tr></tbody></table></div><h3 id="BookInOnePage-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer Options</h3><p>The EventDrivePollingConsumer (the default implementation) supports the following options:</p><d iv class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerQueueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12.4:</strong> The queue size for the internal handoff queue between the polling consumer, and producers sending data into the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerBlockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12/4:</strong> W hether to block any producer if the internal queue is full.</p></td></tr></tbody></table></div></div><p>Notice that some Camel <a shape="rect" href="components.html">Components</a> has their own implementation of <code>PollingConsumer</code> and therefore do not support the options above.</p><p>You can configure these options in endpoints <a shape="rect" href="uris.html">URIs</a>, such as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also available.</p><p>There are 3 main polling methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is available and then returns it; potentially blocking forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel. apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange, waiting up to the given timeout and returning null if no message exchange could be received within the time available</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet</p></td></tr></tbody></table></div><h3 id="BookInOnePage-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer Options</h3><p>The EventDrivePollingConsumer (the default implementation) supports the following options:</p><d iv class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerQueueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12.4:</strong> The queue size for the internal handoff queue between the polling consumer, and producers sending data into the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerBlockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12/4:</strong> W hether to block any producer if the internal queue is full.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span><code>pollingConsumerBlockTimeout</code></span></td><td colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> To use a timeout when the producer is blocked if the internal queue is full. The timeout value is in milli seconds. If the value is 0 or negative then no timeout is in use. If a timeout is triggered then a ExchangeTimedOutException is thrown.</td></tr></tbody></table></div></div><p>Notice that some Camel <a shape="rect" href="components.html">Components</a> has their own implementation of <code>PollingConsumer</code> and therefore do not support the options above.</p><p>You can configure these options in endpoints <a shape="rect" href="uris.html">URIs</a>, such as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeCo ntent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[Endpoint endpoint = context.getEndpoint("file:inbox?pollingConsumerQueueSize=50"); PollingConsumer consumer = endpoint.createPollingConsumer(); Exchange exchange = consumer.receive(5000);]]></script> @@ -15625,7 +15625,7 @@ Exchange exchange = consumer.receive(500 </route> </camelContext> ]]></script> -</div></div><p>Then we can get leverage Spring to inject the <code>ConsumerTemplate</code> in our java class. The code below is part of an unit test but it shows how the consumer and producer can work together.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div>Then we can get leverage Spring to inject the <code>ConsumerTemplate</code> in our java class. The code below is part of an unit test but it shows how the consumer and producer can work together.<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ @ContextConfiguration public class SpringConsumerTemplateTest extends SpringRunWithTestSupport { @@ -15671,7 +15671,7 @@ from("timer://foo?period=5000" from("activemq:queue.foo").to("mock:result"); ]]></script> -</div></div><p>And then we have out logic in our bean:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div>And then we have out logic in our bean:<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ public static class MyCoolBean { @@ -17599,11 +17599,11 @@ template.send("direct:alias-verify& ]]></script> </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3> <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul><li><a shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 id="BookInOnePage-CXFComponent">CXF Component</h2><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to consume web services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p></div></div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1439381894036 {padding: 0px;} -div.rbtoc1439381894036 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1439381894036 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1439385548427 {padding: 0px;} +div.rbtoc1439385548427 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1439385548427 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1439381894036"> +/*]]>*/</style></p><div class="toc-macro rbtoc1439385548427"> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-CXFComponent">CXF Component</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" href="#BookInOnePage-Options">Options</a> <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the dataformats</a> Modified: websites/production/camel/content/book-pattern-appendix.html ============================================================================== --- websites/production/camel/content/book-pattern-appendix.html (original) +++ websites/production/camel/content/book-pattern-appendix.html Wed Aug 12 13:20:54 2015 @@ -3952,7 +3952,7 @@ from("file://inbox").sort(body PollingConsumer consumer = endpoint.createPollingConsumer(); Exchange exchange = consumer.receive(); ]]></script> -</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also available.</p><p>There are 3 main polling methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is available and then returns it; potentially blocking forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel. apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange, waiting up to the given timeout and returning null if no message exchange could be received within the time available</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet</p></td></tr></tbody></table></div><h3 id="BookPatternAppendix-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer Options</h3><p>The EventDrivePollingConsumer (the default implementation) supports the following options: </p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerQueueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12.4:</strong> The queue size for the internal handoff queue between the polling consumer, and producers sending data into the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerBlockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12/4:</str ong> Whether to block any producer if the internal queue is full.</p></td></tr></tbody></table></div></div><p>Notice that some Camel <a shape="rect" href="components.html">Components</a> has their own implementation of <code>PollingConsumer</code> and therefore do not support the options above.</p><p>You can configure these options in endpoints <a shape="rect" href="uris.html">URIs</a>, such as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also available.</p><p>There are 3 main polling methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is available and then returns it; potentially blocking forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel. apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange, waiting up to the given timeout and returning null if no message exchange could be received within the time available</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet</p></td></tr></tbody></table></div><h3 id="BookPatternAppendix-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer Options</h3><p>The EventDrivePollingConsumer (the default implementation) supports the following options: </p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerQueueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12.4:</strong> The queue size for the internal handoff queue between the polling consumer, and producers sending data into the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerBlockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12/4:</str ong> Whether to block any producer if the internal queue is full.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span><code>pollingConsumerBlockTimeout</code></span></td><td colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> To use a timeout when the producer is blocked if the internal queue is full. The timeout value is in milli seconds. If the value is 0 or negative then no timeout is in use. If a timeout is triggered then a ExchangeTimedOutException is thrown.</td></tr></tbody></table></div></div><p>Notice that some Camel <a shape="rect" href="components.html">Components</a> has their own implementation of <code>PollingConsumer</code> and therefore do not support the options above.</p><p>You can configure these options in endpoints <a shape="rect" href="uris.html">URIs</a>, such as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class=" codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[Endpoint endpoint = context.getEndpoint("file:inbox?pollingConsumerQueueSize=50"); PollingConsumer consumer = endpoint.createPollingConsumer(); Exchange exchange = consumer.receive(5000);]]></script> @@ -3982,7 +3982,7 @@ Exchange exchange = consumer.receive(500 </route> </camelContext> ]]></script> -</div></div><p>Then we can get leverage Spring to inject the <code>ConsumerTemplate</code> in our java class. The code below is part of an unit test but it shows how the consumer and producer can work together.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div>Then we can get leverage Spring to inject the <code>ConsumerTemplate</code> in our java class. The code below is part of an unit test but it shows how the consumer and producer can work together.<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ @ContextConfiguration public class SpringConsumerTemplateTest extends SpringRunWithTestSupport { @@ -4028,7 +4028,7 @@ from("timer://foo?period=5000" from("activemq:queue.foo").to("mock:result"); ]]></script> -</div></div><p>And then we have out logic in our bean:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div>And then we have out logic in our bean:<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ public static class MyCoolBean { Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/polling-consumer.html ============================================================================== --- websites/production/camel/content/polling-consumer.html (original) +++ websites/production/camel/content/polling-consumer.html Wed Aug 12 13:20:54 2015 @@ -91,7 +91,7 @@ PollingConsumer consumer = endpoint.createPollingConsumer(); Exchange exchange = consumer.receive(); ]]></script> -</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also available.</p><p>There are 3 main polling methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is available and then returns it; potentially blocking forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel. apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange, waiting up to the given timeout and returning null if no message exchange could be received within the time available</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet</p></td></tr></tbody></table></div><h3 id="PollingConsumer-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer Options</h3><p>The EventDrivePollingConsumer (the default implementation) supports the following options:</p> <div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerQueueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12.4:</strong> The queue size for the internal handoff queue between the polling consumer, and producers sending data into the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerBlockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12/4:</strong> Whether to block any producer if the internal queue is full.</p></td></tr></tbody></table></div></div><p>Notice that some Camel <a shape="rect" href="components.html">Components</a> has their own implementation of <code>PollingConsumer</code> and therefore do not support the options above.</p><p>You can configure these options in endpoints <a shape="rect" href="uris.html">URIs</a>, such as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also available.</p><p>There are 3 main polling methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is available and then returns it; potentially blocking forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel. apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange, waiting up to the given timeout and returning null if no message exchange could be received within the time available</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet</p></td></tr></tbody></table></div><h3 id="PollingConsumer-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer Options</h3><p>The EventDrivePollingConsumer (the default implementation) supports the following options:</p> <div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerQueueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12.4:</strong> The queue size for the internal handoff queue between the polling consumer, and producers sending data into the queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollingConsumerBlockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14/2.13.1/2.12/4:</strong> Whether to block any producer if the internal queue is full.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span><code>pollingConsumerBlockTimeout</code></span></td><td colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> To use a timeout when the producer is blocked if the internal queue is full. The timeout value is in milli seconds. If the value is 0 or negative then no timeout is in use. If a timeout is triggered then a ExchangeTimedOutException is thrown.</td></tr></tbody></table></div></div><p>Notice that some Camel <a shape="rect" href="components.html">Components</a> has their own implementation of <code>PollingConsumer</code> and therefore do not support the options above.</p><p>You can configure these options in endpoints <a shape="rect" href="uris.html">URIs</a>, such as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="code Content panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[Endpoint endpoint = context.getEndpoint("file:inbox?pollingConsumerQueueSize=50"); PollingConsumer consumer = endpoint.createPollingConsumer(); Exchange exchange = consumer.receive(5000);]]></script> @@ -121,7 +121,7 @@ Exchange exchange = consumer.receive(500 </route> </camelContext> ]]></script> -</div></div><p>Then we can get leverage Spring to inject the <code>ConsumerTemplate</code> in our java class. The code below is part of an unit test but it shows how the consumer and producer can work together.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div>Then we can get leverage Spring to inject the <code>ConsumerTemplate</code> in our java class. The code below is part of an unit test but it shows how the consumer and producer can work together.<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ @ContextConfiguration public class SpringConsumerTemplateTest extends SpringRunWithTestSupport { @@ -167,7 +167,7 @@ from("timer://foo?period=5000" from("activemq:queue.foo").to("mock:result"); ]]></script> -</div></div><p>And then we have out logic in our bean:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div>And then we have out logic in our bean:<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ public static class MyCoolBean {