Author: buildbot
Date: Wed Jan 31 13:20:57 2018
New Revision: 1024634
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
13:20:57 2018
@@ -5571,14 +5571,7 @@ from(endpoint).to("pojo:bar");
</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-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><parameter
ac:name="">xml</parameter><plain-text-body><dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-rss</artifactId>
- <version>x.x.x</version>
- <!-- use the same version as your Camel core version -->
-</dependency>
-</plain-text-body><p><strong>Note:</strong> The component currently only
supports polling (consuming) feeds.</p><rich-text-body><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></rich-text-body><h3 id="BookComponentAppendix-URIformat.54">URI
format</h3><plain-text-body>rss:rssUri
-</plain-text-body><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&option=value&...</code></p><h3
id="BookComponentAppendix-Options.43">Options</h3><parameter
ac:name="class">confluenceTableSmall</parameter><rich-text-body><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, Came
l 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:</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</c
ode></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="confluence
Td"><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"> </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" cl
ass="confluenceTd"> </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></rich-text-body><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><parameter
ac:name="class">confluenceTableSmall</parameter><rich-text-body><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>spl
itEntries</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></rich-text-body><h3
id="BookComponentAppendix-MessageHeaders.16">Message Headers</h3><parameter
ac:name="class">confluenceTableSmall</parameter><rich-text-body><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>CamelR
ssFeed</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The
entire <code>SyncFeed</code>
object.</p></td></tr></tbody></table></div></rich-text-body><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:<plain-text-body>{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssDataFormatTest.java}</plain-text-body>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:<plain-text-body>{snippet:id=ex|lang=java|url=came
l/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssFilterWithXPathTest.java}</plain-text-body></p><parameter
ac:name="title">Query parameters</parameter><rich-text-body><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&splitEntries=false&consumer.delay=1000"
rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&splitEntries=false&consumer.delay=1000</a>").to("bean:rss");</code></p></rich-text-body><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 c
onditions. For instance, a filter equivalent to the XPath example above would
be:<plain-text-body>{snippet:id=ex1|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}</plain-text-body>The
custom bean for this would
be:<plain-text-body>{snippet:id=ex2|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}</plain-text-body><parameter
ac:name=""><a shape="rect" href="endpoint-see-also.html">Endpoint See
Also</a></parameter></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 <a shape="rect" class="external-link"
href="https://en.wikipedia.org/wiki/Staged_event-driven_architecture" rel="n
ofollow">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">Dire
ct</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">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<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-rss</artifactId>
<version>x.x.x</version> <!-- use the same version as your Camel
core version --> </dependency></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&option=value&...</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"> </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"> </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&splitEntries=false&consumer.delay=1000"
rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&splitEntries=false&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 <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]
</plain-text-body><p>Where <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&option=value&...</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"> </td><td colspan="1" rowspan="1"
class="confluenceTd"> </td><td colspan="1" rowspan="1"
class="confluenceTd"><p
>The maximum capacity of the <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> </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"> </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"> </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"> </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 <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 <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 <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 <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 <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"> </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 <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 <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 <strong>seda</strong> queue with
no active consumers.</p><rich-text-body><p>Only one of the
options <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 <strong>seda</strong> queue with no active
consumers.<span> </span></p><rich-text-body><p>Only one of the
options <strong><code>discardIfNoConsumers</code></strong>
and <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><bean id="arrayQueue"
class="java.util.ArrayBlockingQueue">
<constructor-arg index="0" value="10"> <!-- size -->
<constructor-arg index="1" value="true"> <!-- fairness -->
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 13:20:57
2018
@@ -4368,11 +4368,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.rbtoc1516954730675 {padding: 0px;}
-div.rbtoc1516954730675 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1516954730675 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1517404775169 {padding: 0px;}
+div.rbtoc1517404775169 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1517404775169 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1516954730675">
+/*]]>*/</style><div class="toc-macro rbtoc1517404775169">
<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,14 +16775,7 @@ from(endpoint).to("pojo:bar");
</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-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><parameter
ac:name="">xml</parameter><plain-text-body><dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-rss</artifactId>
- <version>x.x.x</version>
- <!-- use the same version as your Camel core version -->
-</dependency>
-</plain-text-body><p><strong>Note:</strong> The component currently only
supports polling (consuming) feeds.</p><rich-text-body><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></rich-text-body><h3 id="BookInOnePage-URIformat.55">URI
format</h3><plain-text-body>rss:rssUri
-</plain-text-body><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&option=value&...</code></p><h3
id="BookInOnePage-Options.64">Options</h3><parameter
ac:name="class">confluenceTableSmall</parameter><rich-text-body><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 return
s 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:</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> 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>M
illiseconds 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"> </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="con
fluenceTd"> </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></rich-text-body><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><parameter
ac:name="class">confluenceTableSmall</parameter><rich-text-body><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></rich-text-body><h3
id="BookInOnePage-MessageHeaders.16">Message Headers</h3><parameter
ac:name="class">confluenceTableSmall</parameter><rich-text-body><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><t
d colspan="1" rowspan="1" class="confluenceTd"><p>The entire
<code>SyncFeed</code>
object.</p></td></tr></tbody></table></div></rich-text-body><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 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:<plain-text-body>{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssDataFormatTest.java}</plain-text-body>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:<plain-text-body>{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src
/test/java/org/apache/camel/dataformat/rss/RssFilterWithXPathTest.java}</plain-text-body></p><parameter
ac:name="title">Query parameters</parameter><rich-text-body><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&splitEntries=false&consumer.delay=1000"
rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&splitEntries=false&consumer.delay=1000</a>").to("bean:rss");</code></p></rich-text-body><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 equiva
lent to the XPath example above would
be:<plain-text-body>{snippet:id=ex1|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}</plain-text-body>The
custom bean for this would
be:<plain-text-body>{snippet:id=ex2|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java}</plain-text-body><parameter
ac:name=""><a shape="rect" href="endpoint-see-also.html">Endpoint See
Also</a></parameter></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 <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]
+<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<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-rss</artifactId>
<version>x.x.x</version> <!-- use the same version as your Camel
core version --> </dependency></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&option=value&...</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"> </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"> </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&splitEntries=false&consumer.delay=1000"
rel="nofollow">http://someserver.com/feeds/posts/default?alt=rss&splitEntries=false&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 <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]
</plain-text-body><p>Where <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&option=value&...</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"> </td><td colspan="1" rowspan="1"
class="confluenceTd"> </td><td colspan="1" rowspan="1"
class="confluenceTd"><p>The max
imum capacity of the <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> </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"> </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"> </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"> </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 <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 <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 <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 <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 <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"> </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 <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 <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 <strong>seda</strong>
>queue with no active consumers.</p><rich-text-body><p>Only one of the
>options <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 <strong>seda</strong> queue with no active
consumers.<span> </span></p><rich-text-body><p>Only one of the
options <strong><code>discardIfNoConsumers</code></strong>
and <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><bean id="arrayQueue"
class="java.util.ArrayBlockingQueue">
<constructor-arg index="0" value="10"> <!-- size -->
<constructor-arg index="1" value="true"> <!-- fairness -->
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.