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 2018/01/31 16:18:52 UTC

svn commit: r1024642 [1/2] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache rss.html

Author: buildbot
Date: Wed Jan 31 16:18:52 2018
New Revision: 1024642

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/rss.html

Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Wed Jan 31 16:18:52 2018
@@ -82,6 +82,9 @@
           <!-- Quicklinks -->
         </div>
 
+        <br> Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the asciidoc in the repository:
+            https://github.com/apache/camel/blob/master/README.md
+            https://github.com/apache/camel/blob/master/components/readme.adoc </br>
 	<table border="0">
 	<tbody>
         <tr>
@@ -5571,7 +5574,7 @@ from(endpoint).to(&quot;pojo:bar&quot;);
 </div></div>
 
 <h3 id="BookComponentAppendix-SeeAlso.30">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> <h2 id="BookComponentAppendix-Thispageisoutdated,forthecurrentversionsee:https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc">This page is outdated, for the current version see: <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc" rel="nofollow">https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc</a></h2><h2 id="BookComponentAppendix-RSSComponent">RSS Component</h2><p>The <strong>rss:</strong> component is used for polling RSS feeds. Camel will default poll the feed every 60th seconds.</p><p>Maven users will need to add the following
  dependency to their <code>pom.xml</code> for this component:</p><p>xml&lt;dependency&gt; &lt;groupId&gt;org.apache.camel&lt;/groupId&gt; &lt;artifactId&gt;camel-rss&lt;/artifactId&gt; &lt;version&gt;x.x.x&lt;/version&gt; &lt;!-- use the same version as your Camel core version --&gt; &lt;/dependency&gt;</p><p><strong>Note:</strong> The component currently only supports polling (consuming) feeds.</p><p>Camel-rss internally uses a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/rome-1.0/">patched version</a> of <a shape="rect" class="external-link" href="http://rometools.github.io/rome/" rel="nofollow">ROME</a> hosted on ServiceMix to solve some OSGi <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/SMX4-510">class loading issues</a>.</p><h3 id="BookComponentAppendix-URIformat.54">URI format</h3><p>rss:rssUri</p><p>Where <code>rssUri</code> is the URI to the RSS feed to poll.</p><p>You can append
  query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="BookComponentAppendix-Options.43">Options</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</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>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code>, Camel splits a feed into its individual entries and returns each entry, poll by poll. For example, if a feed contains seven entries, Camel returns the first entry on the first poll, the second entry on the second poll, and so on. When no more entries are left in the feed, Camel contacts 
 the remote RSS URI to obtain a new feed. If <code>false</code>, Camel obtains a fresh feed on every poll and returns all of the feed's entries.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>filter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>splitEntries</code> option in order to filter returned entries. By default, Camel applies the <code>UpdateDateFilter</code> filter, which returns only new entries from the feed, ensuring that the consumer endpoint never receives an entry more than once. The filter orders the entries chronologically, with the newest returned last.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>throttleEntries</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.5:</stro
 ng> Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries is set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lastUpdate</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>filter</code> option to block entries earlier than a specific date/time (uses the <code>entry.updated</code> timestamp). The format is: <code>yyyy-MM-ddTHH:MM:ss</code>. Example: <code>2007-12-24T17:45:59</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>feedHeader</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies whether to add the ROME <code>SyndFeed</code> object as a header.</p></td></
 tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sortEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>splitEntries</code> is <code>true</code>, this specifies whether to sort the entries by updated date.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.delay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delay in milliseconds between each poll.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.initialDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Milliseconds before polling starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.userFixedDelay</code></p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set to <code>true</code> to use fixed delay between pools, otherwise fixed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>username</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>password</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling
  from a HTTP feed</span></td></tr></tbody></table></div><h3 id="BookComponentAppendix-Exchangedatatypes">Exchange data types</h3><p>Camel initializes the In body on the Exchange with a ROME <code>SyndFeed</code>. Depending on the value of the <code>splitEntries</code> flag, Camel returns either a <code>SyndFeed</code> with one <code>SyndEntry</code> or a <code>java.util.List</code> of <code>SyndEntrys</code>.</p><p>confluenceTableSmall</p><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>Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Behavior</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A single entry from the current feed is set in the exchange.<
 /p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire list of entries from the current feed is set in the exchange.</p></td></tr></tbody></table></div><h3 id="BookComponentAppendix-MessageHeaders.16">Message Headers</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRssFeed</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire <code>SyncFeed</code> object.</p></td></tr></tbody></table></div><h3 id="BookComponentAppendix-RSSDataformat">RSS Dataformat</h3><p>The RSS component ships with an RSS dataformat that can be used 
 to convert between String (as XML) and ROME RSS model objects.</p><ul><li>marshal = from ROME <code>SyndFeed</code> to XML <code>String</code></li><li>unmarshal = from XML <code>String</code> to ROME <code>SyndFeed</code></li></ul><p>A route using this would look something like this:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssDataFormatTest.java}The purpose of this feature is to make it possible to use Camel's lovely built-in expressions for manipulating RSS messages. As shown below, an XPath expression can be used to filter the RSS message:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssFilterWithXPathTest.java}</p><p>Query parameters</p><p>If the URL for the RSS feed uses query parameters, this component will understand them as well, for example if the feed uses <code>alt=rss</code>, then you can for example do<br clear="none"> <code>from("rss:<a shape=
 "rect" class="external-link" href="http://someserver.com/feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000" rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000</a>").to("bean:rss");</code></p><h3 id="BookComponentAppendix-Filteringentries">Filtering entries</h3><p>You can filter out entries quite easily using XPath, as shown in the data format section above. You can also exploit Camel's <a shape="rect" href="bean-integration.html">Bean Integration</a> to implement your own conditions. For instance, a filter equivalent to the XPath example above would be:{snippet:id=ex1|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}The custom bean for this would be:{snippet:id=ex2|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}<a shape="rect" href="endpoint-see-also.html">Endpoint See Also<
 /a></p><ul class="alternate"><li><a shape="rect" href="atom.html">Atom</a></li></ul> <div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div> <h2 id="BookComponentAppendix-SEDAComponent">SEDA Component</h2><p>The <strong><code>seda:</code></strong> component provides asynchronous&#160;<a shape="rect" class="external-link" href="https://en.wikipedia.org/wiki/Staged_event-driven_architecture" rel="nofollow">SEDA</a> behavior, so that messages are exchanged on a BlockingQueue and consumers are invoked in a separate thread from the producer.<a shape="rect" class="external-link" href="http://www.eecs.harvard.edu/~mdw/proj/seda/" rel="nofollow"></a></p><p>Note that queues are only visible within a <em>single</em> <a shape="rect" href="camelcontext.html">CamelContext</a>. If you want to communicate across <strong><code>CamelContext</code></strong> instances (for example, communicating between Web applications), see the <a shape="r
 ect" href="vm.html">VM</a> component.</p><p>This component does not implement any kind of persistence or recovery, if the VM terminates while messages are yet to be processed. If you need persistence, reliability or distributed SEDA, try using either <a shape="rect" href="jms.html">JMS</a> or <a shape="rect" href="activemq.html">ActiveMQ</a>.</p><parameter ac:name="title">Synchronous</parameter><rich-text-body><p>The <a shape="rect" href="direct.html">Direct</a> component provides synchronous invocation of any consumers when a producer sends a message exchange.</p></rich-text-body><h3 id="BookComponentAppendix-URIformat.55">URI format</h3><plain-text-body>seda:someName[?options]
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul> <h2 id="BookComponentAppendix-Thispageisoutdated,forthecurrentversionsee:https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc"><strong>This page is outdated, for the current version see: <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc" rel="nofollow">https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc</a></strong></h2><p><strong>.<br clear="none"></strong></p><h2 id="BookComponentAppendix-RSSComponent">RSS Component</h2><p>The <strong>rss:</strong> component is used for polling RSS feeds. Camel will default poll the feed every 60t
 h seconds.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</p><p>xml&lt;dependency&gt; &lt;groupId&gt;org.apache.camel&lt;/groupId&gt; &lt;artifactId&gt;camel-rss&lt;/artifactId&gt; &lt;version&gt;x.x.x&lt;/version&gt; &lt;!-- use the same version as your Camel core version --&gt; &lt;/dependency&gt;</p><p><strong>Note:</strong> The component currently only supports polling (consuming) feeds.</p><p>Camel-rss internally uses a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/rome-1.0/">patched version</a> of <a shape="rect" class="external-link" href="http://rometools.github.io/rome/" rel="nofollow">ROME</a> hosted on ServiceMix to solve some OSGi <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/SMX4-510">class loading issues</a>.</p><h3 id="BookComponentAppendix-URIformat.54">URI format</h3><p>rss:rssUri</p><p>Where <code>rssUri</cod
 e> is the URI to the RSS feed to poll.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="BookComponentAppendix-Options.43">Options</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</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>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code>, Camel splits a feed into its individual entries and returns each entry, poll by poll. For example, if a feed contains seven entries, Camel returns the first entry on the first poll, the second entry on the second poll, and so on.
  When no more entries are left in the feed, Camel contacts the remote RSS URI to obtain a new feed. If <code>false</code>, Camel obtains a fresh feed on every poll and returns all of the feed's entries.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>filter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>splitEntries</code> option in order to filter returned entries. By default, Camel applies the <code>UpdateDateFilter</code> filter, which returns only new entries from the feed, ensuring that the consumer endpoint never receives an entry more than once. The filter orders the entries chronologically, with the newest returned last.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>throttleEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p><strong>Camel 2.5:</strong> Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries is set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lastUpdate</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>filter</code> option to block entries earlier than a specific date/time (uses the <code>entry.updated</code> timestamp). The format is: <code>yyyy-MM-ddTHH:MM:ss</code>. Example: <code>2007-12-24T17:45:59</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>feedHeader</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies whether to add th
 e ROME <code>SyndFeed</code> object as a header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sortEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>splitEntries</code> is <code>true</code>, this specifies whether to sort the entries by updated date.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.delay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delay in milliseconds between each poll.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.initialDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Milliseconds before polling starts.</p></td></tr><tr><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p><code>consumer.userFixedDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set to <code>true</code> to use fixed delay between pools, otherwise fixed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>username</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>password</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel
  2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></tr></tbody></table></div><h3 id="BookComponentAppendix-Exchangedatatypes">Exchange data types</h3><p>Camel initializes the In body on the Exchange with a ROME <code>SyndFeed</code>. Depending on the value of the <code>splitEntries</code> flag, Camel returns either a <code>SyndFeed</code> with one <code>SyndEntry</code> or a <code>java.util.List</code> of <code>SyndEntrys</code>.</p><p>confluenceTableSmall</p><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>Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Behavior</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A 
 single entry from the current feed is set in the exchange.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire list of entries from the current feed is set in the exchange.</p></td></tr></tbody></table></div><h3 id="BookComponentAppendix-MessageHeaders.16">Message Headers</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRssFeed</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire <code>SyncFeed</code> object.</p></td></tr></tbody></table></div><h3 id="BookComponentAppendix-RSSDataformat">RSS Dataformat</h3><p>The R
 SS component ships with an RSS dataformat that can be used to convert between String (as XML) and ROME RSS model objects.</p><ul><li>marshal = from ROME <code>SyndFeed</code> to XML <code>String</code></li><li>unmarshal = from XML <code>String</code> to ROME <code>SyndFeed</code></li></ul><p>A route using this would look something like this:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssDataFormatTest.java}The purpose of this feature is to make it possible to use Camel's lovely built-in expressions for manipulating RSS messages. As shown below, an XPath expression can be used to filter the RSS message:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssFilterWithXPathTest.java}</p><p>Query parameters</p><p>If the URL for the RSS feed uses query parameters, this component will understand them as well, for example if the feed uses <code>alt=rss</code>, then you ca
 n for example do<br clear="none"> <code>from("rss:<a shape="rect" class="external-link" href="http://someserver.com/feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000" rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000</a>").to("bean:rss");</code></p><h3 id="BookComponentAppendix-Filteringentries">Filtering entries</h3><p>You can filter out entries quite easily using XPath, as shown in the data format section above. You can also exploit Camel's <a shape="rect" href="bean-integration.html">Bean Integration</a> to implement your own conditions. For instance, a filter equivalent to the XPath example above would be:{snippet:id=ex1|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}The custom bean for this would be:{snippet:id=ex2|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}<a sh
 ape="rect" href="endpoint-see-also.html">Endpoint See Also</a></p><ul class="alternate"><li><a shape="rect" href="atom.html">Atom</a></li></ul> <div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div> <h2 id="BookComponentAppendix-SEDAComponent">SEDA Component</h2><p>The <strong><code>seda:</code></strong> component provides asynchronous&#160;<a shape="rect" class="external-link" href="https://en.wikipedia.org/wiki/Staged_event-driven_architecture" rel="nofollow">SEDA</a> behavior, so that messages are exchanged on a BlockingQueue and consumers are invoked in a separate thread from the producer.<a shape="rect" class="external-link" href="http://www.eecs.harvard.edu/~mdw/proj/seda/" rel="nofollow"></a></p><p>Note that queues are only visible within a <em>single</em> <a shape="rect" href="camelcontext.html">CamelContext</a>. If you want to communicate across <strong><code>CamelContext</code></strong> instances (for example, c
 ommunicating between Web applications), see the <a shape="rect" href="vm.html">VM</a> component.</p><p>This component does not implement any kind of persistence or recovery, if the VM terminates while messages are yet to be processed. If you need persistence, reliability or distributed SEDA, try using either <a shape="rect" href="jms.html">JMS</a> or <a shape="rect" href="activemq.html">ActiveMQ</a>.</p><parameter ac:name="title">Synchronous</parameter><rich-text-body><p>The <a shape="rect" href="direct.html">Direct</a> component provides synchronous invocation of any consumers when a producer sends a message exchange.</p></rich-text-body><h3 id="BookComponentAppendix-URIformat.55">URI format</h3><plain-text-body>seda:someName[?options]
 </plain-text-body><p>Where&#160;<strong><code>someName</code></strong> can be any string that uniquely identifies the endpoint within the current <a shape="rect" href="camelcontext.html">CamelContext</a>.</p><p>You can append query options to the URI in the following format: <strong><code>?option=value&amp;option=value&amp;...</code></strong></p><h3 id="BookComponentAppendix-Options.44">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Since</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>size</code></p></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"><p
 >The maximum capacity of the&#160;<strong>seda</strong> queue, i.e., the number of messages it can hold.</p><p>The default value in <strong>Camel 2.2</strong> or older is <strong><code>1000</code></strong>.</p><p>From <strong>Camel 2.3</strong>: the size is unbounded by default.</p><p>&#160;</p><rich-text-body><p><strong>Note:</strong> Care should be taken when using this option. The size is determined by the value specified <em>when the first endpoint is created</em>. Each endpoint must therefore specify the same size.</p><p><strong>From</strong> <strong>Camel 2.11</strong>: 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.</p></rich-text-body></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>concurrentConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>Number of concurrent threads processing exchanges.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>waitForTaskToComplete</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>IfReplyExpected</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Option to specify whether the caller should wait for the asynchronous task to complete before continuing.</p><p>The following options are supported:</p><ul><li><p><strong><code>Always</code></strong></p></li><li><p><strong><code>Never</code></strong></p></li><li><p><strong><code>IfReplyExpected</code></strong></p></li></ul><p>The first two values are self-explanatory.</p><p>The last value, <strong><code>IfReplyExpected</code></strong>, will only wait if the message is <a shape="rect" href="request-reply.html">Request Reply</a> based.</p><p>See <a shape="rect" href="async.html">Asy
 nc</a> messaging for more details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>timeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Timeout (in milliseconds) before a&#160;<strong>seda</strong> producer will stop waiting for an asynchronous task to complete.</p><p>See <strong><code>waitForTaskToComplete</code></strong> and <a shape="rect" href="async.html">Async</a> for more details.</p><p>From <strong>Camel 2.2:</strong> you can now disable timeout by using&#160;<strong><code>0</code></strong> or a negative value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>multipleConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.2</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
 rowspan="1" class="confluenceTd"><p>Specifies whether multiple consumers are allowed. If enabled, you can use <a shape="rect" href="seda.html">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&#160;<strong>seda</strong> queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>limitConcurrentConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.3</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to limit the number of <strong><code>concurrentConsumers</code></strong> to the maximum of <strong><code>500</code></strong>.</p><p>By default, an exce
 ption will be thrown if a&#160;<strong>seda</strong> endpoint is configured with a greater number. You can disable that check by turning this option off.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>blockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.9</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether a thread that sends messages to a full&#160;<strong>seda</strong> 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>queueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.9</strong></p></td><td colspan="1" rowspan="
 1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Component only:</strong> the maximum size (capacity of the number of messages it can hold) of the&#160;<strong>seda</strong> queue.</p><rich-text-body><p>This option is used when <strong><code>size</code></strong> is not specified.</p></rich-text-body></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.9.3</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong>: 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>purgeWhenStopping</code></p></td
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.11.1</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>queue</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.12.0</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Define the queue instance which will be used by <strong>seda</strong> endpoint</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>queueFactory</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.12.0</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>nu
 ll</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Define the&#160;<strong><code>QueueFactory</code></strong> which could create the queue for the <strong>seda</strong> endpoint</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>failIfNoConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.12.0</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the producer should fail by throwing an exception when sending to a&#160;<strong>seda</strong> queue with no active consumers.</p><rich-text-body><p>Only one of the options&#160;<span><strong><code>discardIfNoConsumers</code></strong></span> and <span><strong><code>failIfNoConsumers</code></strong></span> can be enabled at the same time.</p></rich-text-body></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>discardIfNoConsumers</code></p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.16</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the producer should discard the message (do not add the message to the queue) when sending to a&#160;<strong>seda</strong> queue with no active consumers.<span>&#160;</span></p><rich-text-body><p>Only one of the options&#160;<strong><code>discardIfNoConsumers</code></strong> and&#160;<strong><code>failIfNoConsumers</code></strong> can be enabled at the same time.</p></rich-text-body></td></tr></tbody></table></div><h3 id="BookComponentAppendix-ChoosingBlockingQueueimplementation">Choosing BlockingQueue implementation</h3><p><strong>Available as of Camel 2.12</strong></p><parameter ac:name="language">xml</parameter><plain-text-body>&lt;bean id="arrayQueue" class="java.util.ArrayBlockingQueue"&gt;
   &lt;constructor-arg index="0" value="10"&gt;   &lt;!-- size --&gt;
   &lt;constructor-arg index="1" value="true"&gt; &lt;!-- fairness --&gt;

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 Jan 31 16:18:52 2018
@@ -82,6 +82,9 @@
           <!-- Quicklinks -->
         </div>
 
+        <br> Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the asciidoc in the repository:
+            https://github.com/apache/camel/blob/master/README.md
+            https://github.com/apache/camel/blob/master/components/readme.adoc </br>
 	<table border="0">
 	<tbody>
         <tr>
@@ -4368,11 +4371,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.rbtoc1517404775169 {padding: 0px;}
-div.rbtoc1517404775169 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1517404775169 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1517415461232 {padding: 0px;}
+div.rbtoc1517415461232 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1517415461232 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1517404775169">
+/*]]>*/</style><div class="toc-macro rbtoc1517415461232">
 <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>
@@ -16775,7 +16778,7 @@ from(endpoint).to(&quot;pojo:bar&quot;);
 </div></div>
 
 <h3 id="BookInOnePage-SeeAlso.49">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> <h2 id="BookInOnePage-Thispageisoutdated,forthecurrentversionsee:https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc">This page is outdated, for the current version see: <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc" rel="nofollow">https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc</a></h2><h2 id="BookInOnePage-RSSComponent">RSS Component</h2><p>The <strong>rss:</strong> component is used for polling RSS feeds. Camel will default poll the feed every 60th seconds.</p><p>Maven users will need to add the following dependency to t
 heir <code>pom.xml</code> for this component:</p><p>xml&lt;dependency&gt; &lt;groupId&gt;org.apache.camel&lt;/groupId&gt; &lt;artifactId&gt;camel-rss&lt;/artifactId&gt; &lt;version&gt;x.x.x&lt;/version&gt; &lt;!-- use the same version as your Camel core version --&gt; &lt;/dependency&gt;</p><p><strong>Note:</strong> The component currently only supports polling (consuming) feeds.</p><p>Camel-rss internally uses a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/rome-1.0/">patched version</a> of <a shape="rect" class="external-link" href="http://rometools.github.io/rome/" rel="nofollow">ROME</a> hosted on ServiceMix to solve some OSGi <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/SMX4-510">class loading issues</a>.</p><h3 id="BookInOnePage-URIformat.55">URI format</h3><p>rss:rssUri</p><p>Where <code>rssUri</code> is the URI to the RSS feed to poll.</p><p>You can append query options to the UR
 I in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="BookInOnePage-Options.64">Options</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</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>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code>, Camel splits a feed into its individual entries and returns each entry, poll by poll. For example, if a feed contains seven entries, Camel returns the first entry on the first poll, the second entry on the second poll, and so on. When no more entries are left in the feed, Camel contacts the remote RSS URI to obtain a n
 ew feed. If <code>false</code>, Camel obtains a fresh feed on every poll and returns all of the feed's entries.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>filter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>splitEntries</code> option in order to filter returned entries. By default, Camel applies the <code>UpdateDateFilter</code> filter, which returns only new entries from the feed, ensuring that the consumer endpoint never receives an entry more than once. The filter orders the entries chronologically, with the newest returned last.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>throttleEntries</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.5:</strong> Sets whether all entries ide
 ntified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries is set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lastUpdate</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>filter</code> option to block entries earlier than a specific date/time (uses the <code>entry.updated</code> timestamp). The format is: <code>yyyy-MM-ddTHH:MM:ss</code>. Example: <code>2007-12-24T17:45:59</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>feedHeader</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies whether to add the ROME <code>SyndFeed</code> object as a header.</p></td></tr><tr><td colspan="1" rowspan="
 1" class="confluenceTd"><p><code>sortEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>splitEntries</code> is <code>true</code>, this specifies whether to sort the entries by updated date.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.delay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delay in milliseconds between each poll.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.initialDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Milliseconds before polling starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.userFixedDelay</code></p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set to <code>true</code> to use fixed delay between pools, otherwise fixed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>username</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>password</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></t
 r></tbody></table></div><h3 id="BookInOnePage-Exchangedatatypes">Exchange data types</h3><p>Camel initializes the In body on the Exchange with a ROME <code>SyndFeed</code>. Depending on the value of the <code>splitEntries</code> flag, Camel returns either a <code>SyndFeed</code> with one <code>SyndEntry</code> or a <code>java.util.List</code> of <code>SyndEntrys</code>.</p><p>confluenceTableSmall</p><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>Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Behavior</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A single entry from the current feed is set in the exchange.</p></td></tr><tr><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire list of entries from the current feed is set in the exchange.</p></td></tr></tbody></table></div><h3 id="BookInOnePage-MessageHeaders.16">Message Headers</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRssFeed</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire <code>SyncFeed</code> object.</p></td></tr></tbody></table></div><h3 id="BookInOnePage-RSSDataformat">RSS Dataformat</h3><p>The RSS component ships with an RSS dataformat that can be used to convert between String (as XML) and ROME RSS model ob
 jects.</p><ul><li>marshal = from ROME <code>SyndFeed</code> to XML <code>String</code></li><li>unmarshal = from XML <code>String</code> to ROME <code>SyndFeed</code></li></ul><p>A route using this would look something like this:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssDataFormatTest.java}The purpose of this feature is to make it possible to use Camel's lovely built-in expressions for manipulating RSS messages. As shown below, an XPath expression can be used to filter the RSS message:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssFilterWithXPathTest.java}</p><p>Query parameters</p><p>If the URL for the RSS feed uses query parameters, this component will understand them as well, for example if the feed uses <code>alt=rss</code>, then you can for example do<br clear="none"> <code>from("rss:<a shape="rect" class="external-link" href="http://someserver.com
 /feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000" rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000</a>").to("bean:rss");</code></p><h3 id="BookInOnePage-Filteringentries">Filtering entries</h3><p>You can filter out entries quite easily using XPath, as shown in the data format section above. You can also exploit Camel's <a shape="rect" href="bean-integration.html">Bean Integration</a> to implement your own conditions. For instance, a filter equivalent to the XPath example above would be:{snippet:id=ex1|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}The custom bean for this would be:{snippet:id=ex2|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}<a shape="rect" href="endpoint-see-also.html">Endpoint See Also</a></p><ul class="alternate"><li><a shape="rect" href="atom.html
 ">Atom</a></li></ul> <div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div> <h2 id="BookInOnePage-SEDAComponent">SEDA Component</h2><p>The <strong><code>seda:</code></strong> component provides asynchronous&#160;<a shape="rect" class="external-link" href="https://en.wikipedia.org/wiki/Staged_event-driven_architecture" rel="nofollow">SEDA</a> behavior, so that messages are exchanged on a BlockingQueue and consumers are invoked in a separate thread from the producer.<a shape="rect" class="external-link" href="http://www.eecs.harvard.edu/~mdw/proj/seda/" rel="nofollow"></a></p><p>Note that queues are only visible within a <em>single</em> <a shape="rect" href="camelcontext.html">CamelContext</a>. If you want to communicate across <strong><code>CamelContext</code></strong> instances (for example, communicating between Web applications), see the <a shape="rect" href="vm.html">VM</a> component.</p><p>This component does not impl
 ement any kind of persistence or recovery, if the VM terminates while messages are yet to be processed. If you need persistence, reliability or distributed SEDA, try using either <a shape="rect" href="jms.html">JMS</a> or <a shape="rect" href="activemq.html">ActiveMQ</a>.</p><parameter ac:name="title">Synchronous</parameter><rich-text-body><p>The <a shape="rect" href="direct.html">Direct</a> component provides synchronous invocation of any consumers when a producer sends a message exchange.</p></rich-text-body><h3 id="BookInOnePage-URIformat.56">URI format</h3><plain-text-body>seda:someName[?options]
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul> <h2 id="BookInOnePage-Thispageisoutdated,forthecurrentversionsee:https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc"><strong>This page is outdated, for the current version see: <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc" rel="nofollow">https://github.com/apache/camel/blob/master/components/camel-rss/src/main/docs/rss-component.adoc</a></strong></h2><p><strong>.<br clear="none"></strong></p><h2 id="BookInOnePage-RSSComponent">RSS Component</h2><p>The <strong>rss:</strong> component is used for polling RSS feeds. Camel will default poll the feed every 60th seconds.</p><p
 >Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</p><p>xml&lt;dependency&gt; &lt;groupId&gt;org.apache.camel&lt;/groupId&gt; &lt;artifactId&gt;camel-rss&lt;/artifactId&gt; &lt;version&gt;x.x.x&lt;/version&gt; &lt;!-- use the same version as your Camel core version --&gt; &lt;/dependency&gt;</p><p><strong>Note:</strong> The component currently only supports polling (consuming) feeds.</p><p>Camel-rss internally uses a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/rome-1.0/">patched version</a> of <a shape="rect" class="external-link" href="http://rometools.github.io/rome/" rel="nofollow">ROME</a> hosted on ServiceMix to solve some OSGi <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/SMX4-510">class loading issues</a>.</p><h3 id="BookInOnePage-URIformat.55">URI format</h3><p>rss:rssUri</p><p>Where <code>rssUri</code> is the URI to the RSS
  feed to poll.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="BookInOnePage-Options.64">Options</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</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>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code>, Camel splits a feed into its individual entries and returns each entry, poll by poll. For example, if a feed contains seven entries, Camel returns the first entry on the first poll, the second entry on the second poll, and so on. When no more entries are left i
 n the feed, Camel contacts the remote RSS URI to obtain a new feed. If <code>false</code>, Camel obtains a fresh feed on every poll and returns all of the feed's entries.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>filter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>splitEntries</code> option in order to filter returned entries. By default, Camel applies the <code>UpdateDateFilter</code> filter, which returns only new entries from the feed, ensuring that the consumer endpoint never receives an entry more than once. The filter orders the entries chronologically, with the newest returned last.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>throttleEntries</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.5:</strong> Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries is set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lastUpdate</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use in combination with the <code>filter</code> option to block entries earlier than a specific date/time (uses the <code>entry.updated</code> timestamp). The format is: <code>yyyy-MM-ddTHH:MM:ss</code>. Example: <code>2007-12-24T17:45:59</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>feedHeader</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies whether to add the ROME <code>SyndFeed</code> obj
 ect as a header.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sortEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>splitEntries</code> is <code>true</code>, this specifies whether to sort the entries by updated date.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.delay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delay in milliseconds between each poll.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.initialDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Milliseconds before polling starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consum
 er.userFixedDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set to <code>true</code> to use fixed delay between pools, otherwise fixed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>username</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>password</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic 
 authentication when polling from a HTTP feed</span></td></tr></tbody></table></div><h3 id="BookInOnePage-Exchangedatatypes">Exchange data types</h3><p>Camel initializes the In body on the Exchange with a ROME <code>SyndFeed</code>. Depending on the value of the <code>splitEntries</code> flag, Camel returns either a <code>SyndFeed</code> with one <code>SyndEntry</code> or a <code>java.util.List</code> of <code>SyndEntrys</code>.</p><p>confluenceTableSmall</p><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>Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Behavior</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A single entry from the current feed is se
 t in the exchange.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>splitEntries</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire list of entries from the current feed is set in the exchange.</p></td></tr></tbody></table></div><h3 id="BookInOnePage-MessageHeaders.16">Message Headers</h3><p>confluenceTableSmall</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelRssFeed</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The entire <code>SyncFeed</code> object.</p></td></tr></tbody></table></div><h3 id="BookInOnePage-RSSDataformat">RSS Dataformat</h3><p>The RSS component ships with an RSS dataformat that can be us
 ed to convert between String (as XML) and ROME RSS model objects.</p><ul><li>marshal = from ROME <code>SyndFeed</code> to XML <code>String</code></li><li>unmarshal = from XML <code>String</code> to ROME <code>SyndFeed</code></li></ul><p>A route using this would look something like this:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssDataFormatTest.java}The purpose of this feature is to make it possible to use Camel's lovely built-in expressions for manipulating RSS messages. As shown below, an XPath expression can be used to filter the RSS message:{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssFilterWithXPathTest.java}</p><p>Query parameters</p><p>If the URL for the RSS feed uses query parameters, this component will understand them as well, for example if the feed uses <code>alt=rss</code>, then you can for example do<br clear="none"> <code>from("rss:<a sha
 pe="rect" class="external-link" href="http://someserver.com/feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000" rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&amp;splitEntries=false&amp;consumer.delay=1000</a>").to("bean:rss");</code></p><h3 id="BookInOnePage-Filteringentries">Filtering entries</h3><p>You can filter out entries quite easily using XPath, as shown in the data format section above. You can also exploit Camel's <a shape="rect" href="bean-integration.html">Bean Integration</a> to implement your own conditions. For instance, a filter equivalent to the XPath example above would be:{snippet:id=ex1|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}The custom bean for this would be:{snippet:id=ex2|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}<a shape="rect" href="endpoint-see-also.html">Endpoint See Also</a></
 p><ul class="alternate"><li><a shape="rect" href="atom.html">Atom</a></li></ul> <div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div> <h2 id="BookInOnePage-SEDAComponent">SEDA Component</h2><p>The <strong><code>seda:</code></strong> component provides asynchronous&#160;<a shape="rect" class="external-link" href="https://en.wikipedia.org/wiki/Staged_event-driven_architecture" rel="nofollow">SEDA</a> behavior, so that messages are exchanged on a BlockingQueue and consumers are invoked in a separate thread from the producer.<a shape="rect" class="external-link" href="http://www.eecs.harvard.edu/~mdw/proj/seda/" rel="nofollow"></a></p><p>Note that queues are only visible within a <em>single</em> <a shape="rect" href="camelcontext.html">CamelContext</a>. If you want to communicate across <strong><code>CamelContext</code></strong> instances (for example, communicating between Web applications), see the <a shape="rect" href="vm
 .html">VM</a> component.</p><p>This component does not implement any kind of persistence or recovery, if the VM terminates while messages are yet to be processed. If you need persistence, reliability or distributed SEDA, try using either <a shape="rect" href="jms.html">JMS</a> or <a shape="rect" href="activemq.html">ActiveMQ</a>.</p><parameter ac:name="title">Synchronous</parameter><rich-text-body><p>The <a shape="rect" href="direct.html">Direct</a> component provides synchronous invocation of any consumers when a producer sends a message exchange.</p></rich-text-body><h3 id="BookInOnePage-URIformat.56">URI format</h3><plain-text-body>seda:someName[?options]
 </plain-text-body><p>Where&#160;<strong><code>someName</code></strong> can be any string that uniquely identifies the endpoint within the current <a shape="rect" href="camelcontext.html">CamelContext</a>.</p><p>You can append query options to the URI in the following format: <strong><code>?option=value&amp;option=value&amp;...</code></strong></p><h3 id="BookInOnePage-Options.65">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Since</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>size</code></p></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"><p>The max
 imum capacity of the&#160;<strong>seda</strong> queue, i.e., the number of messages it can hold.</p><p>The default value in <strong>Camel 2.2</strong> or older is <strong><code>1000</code></strong>.</p><p>From <strong>Camel 2.3</strong>: the size is unbounded by default.</p><p>&#160;</p><rich-text-body><p><strong>Note:</strong> Care should be taken when using this option. The size is determined by the value specified <em>when the first endpoint is created</em>. Each endpoint must therefore specify the same size.</p><p><strong>From</strong> <strong>Camel 2.11</strong>: 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.</p></rich-text-body></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>concurrentConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td colspan="1
 " rowspan="1" class="confluenceTd"><p>Number of concurrent threads processing exchanges.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>waitForTaskToComplete</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>IfReplyExpected</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Option to specify whether the caller should wait for the asynchronous task to complete before continuing.</p><p>The following options are supported:</p><ul><li><p><strong><code>Always</code></strong></p></li><li><p><strong><code>Never</code></strong></p></li><li><p><strong><code>IfReplyExpected</code></strong></p></li></ul><p>The first two values are self-explanatory.</p><p>The last value, <strong><code>IfReplyExpected</code></strong>, will only wait if the message is <a shape="rect" href="request-reply.html">Request Reply</a> based.</p><p>See <a shape="rect" href="async.html">Async</a> m
 essaging for more details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>timeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Timeout (in milliseconds) before a&#160;<strong>seda</strong> producer will stop waiting for an asynchronous task to complete.</p><p>See <strong><code>waitForTaskToComplete</code></strong> and <a shape="rect" href="async.html">Async</a> for more details.</p><p>From <strong>Camel 2.2:</strong> you can now disable timeout by using&#160;<strong><code>0</code></strong> or a negative value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>multipleConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.2</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan=
 "1" class="confluenceTd"><p>Specifies whether multiple consumers are allowed. If enabled, you can use <a shape="rect" href="seda.html">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&#160;<strong>seda</strong> queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>limitConcurrentConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.3</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to limit the number of <strong><code>concurrentConsumers</code></strong> to the maximum of <strong><code>500</code></strong>.</p><p>By default, an exception wi
 ll be thrown if a&#160;<strong>seda</strong> endpoint is configured with a greater number. You can disable that check by turning this option off.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>blockWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.9</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether a thread that sends messages to a full&#160;<strong>seda</strong> 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>queueSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.9</strong></p></td><td colspan="1" rowspan="1" class
 ="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Component only:</strong> the maximum size (capacity of the number of messages it can hold) of the&#160;<strong>seda</strong> queue.</p><rich-text-body><p>This option is used when <strong><code>size</code></strong> is not specified.</p></rich-text-body></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pollTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.9.3</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong>: 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>purgeWhenStopping</code></p></td><td col
 span="1" rowspan="1" class="confluenceTd"><p><strong>2.11.1</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>queue</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.12.0</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Define the queue instance which will be used by <strong>seda</strong> endpoint</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>queueFactory</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.12.0</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code
 ></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Define the&#160;<strong><code>QueueFactory</code></strong> which could create the queue for the <strong>seda</strong> endpoint</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>failIfNoConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>2.12.0</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the producer should fail by throwing an exception when sending to a&#160;<strong>seda</strong> queue with no active consumers.</p><rich-text-body><p>Only one of the options&#160;<span><strong><code>discardIfNoConsumers</code></strong></span> and <span><strong><code>failIfNoConsumers</code></strong></span> can be enabled at the same time.</p></rich-text-body></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>discardIfNoConsumers</code></p></td><td colsp
 an="1" rowspan="1" class="confluenceTd"><p><strong>2.16</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the producer should discard the message (do not add the message to the queue) when sending to a&#160;<strong>seda</strong> queue with no active consumers.<span>&#160;</span></p><rich-text-body><p>Only one of the options&#160;<strong><code>discardIfNoConsumers</code></strong> and&#160;<strong><code>failIfNoConsumers</code></strong> can be enabled at the same time.</p></rich-text-body></td></tr></tbody></table></div><h3 id="BookInOnePage-ChoosingBlockingQueueimplementation">Choosing BlockingQueue implementation</h3><p><strong>Available as of Camel 2.12</strong></p><parameter ac:name="language">xml</parameter><plain-text-body>&lt;bean id="arrayQueue" class="java.util.ArrayBlockingQueue"&gt;
   &lt;constructor-arg index="0" value="10"&gt;   &lt;!-- size --&gt;
   &lt;constructor-arg index="1" value="true"&gt; &lt;!-- fairness --&gt;

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