Modified: websites/production/camel/content/rss.html
==============================================================================
--- websites/production/camel/content/rss.html (original)
+++ websites/production/camel/content/rss.html Wed Jan 31 17:18:52 2018
@@ -78,7 +78,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 
id="RSS-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="RSS-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;/versi
 on&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="RSS-URIformat">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="RSS-Options">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:</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="con
 fluenceTd"><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 
<c
 ode>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="exte
 rnal-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="RSS-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 curre
 nt feed is set in the exchange.</p></td></tr></tbody></table></div><h3 
id="RSS-MessageHeaders">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="RSS-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=c
 
amel/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="RSS-Filteringentries">Filteri
 ng 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>
+<div class="wiki-content maincontent"><h2 
id="RSS-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="RSS-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;/versio
 n&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="RSS-URIformat">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="RSS-Options">Options</h3><p>confluenceTableSmall</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th c
 olspan="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" r
 owspan="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="conf
 luenceTd"><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 
<co
 de>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="exter
 nal-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="RSS-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, C
 amel 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 curren
 t feed is set in the exchange.</p></td></tr></tbody></table></div><h3 
id="RSS-MessageHeaders">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="RSS-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=ca
 
mel/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="RSS-Filteringentries">Filterin
 g 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>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to