You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2018/01/31 13:20:57 UTC

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

Modified: websites/production/camel/content/rss.html
==============================================================================
--- websites/production/camel/content/rss.html (original)
+++ websites/production/camel/content/rss.html Wed Jan 31 13:20:57 2018
@@ -75,14 +75,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><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><parameter ac:name="">xml</parameter><plain-text-body>&lt;dependency&gt;
-    &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
-    &lt;artifactId&gt;camel-rss&lt;/artifactId&gt;
-    &lt;version&gt;x.x.x&lt;/version&gt;
-    &lt;!-- use the same version as your Camel core version --&gt;
-&lt;/dependency&gt;
-</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="RSS-URIformat">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&amp;option=value&amp;...</code></p><h3 id="RSS-Options">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 returns the first e
 ntry 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 cols
 pan="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 b
 efore polling starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumer.userFixedDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set to <code>true</code> to use fixed delay between pools, otherwise fixed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>username</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>password</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#
 160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong><span> For basic authentication when polling from a HTTP feed</span></td></tr></tbody></table></div></rich-text-body><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><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="RSS-MessageHeaders">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><td colspan="1" rowspan="1" class="con
 fluenceTd"><p>The entire <code>SyncFeed</code> object.</p></td></tr></tbody></table></div></rich-text-body><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:<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/Rss
 FilterWithXPathTest.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&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></rich-text-body><h3 id="RSS-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:<plain-text-bod
 y>{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>
+<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">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="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;/version&gt; &lt;!-- use the same version as your Camel core vers
 ion --&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="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/ja
 va/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 current feed is set in the exchange.</p></td></tr></tbody></tabl
 e></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=camel/trunk/components/camel-rss/src/test/java/org/apache/ca
 mel/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">Filtering entries</h3><p>You can filter out entries quite easily u
 sing 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">