...
Div |
---|
class | confluenceTableSmall |
---|
|
Property | Default | Description |
---|
splitEntries
| true
| If true , 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 false , Camel obtains a fresh feed on every poll and returns all of the feed's entries. | filter
| true
| Use in combination with the splitEntries option in order to filter returned entries. By default, Camel applies the UpdateDateFilter 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. | throttleEntries
| true
| Camel 2.5: 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. | lastUpdate
| null
| Use in combination with the filter option to block entries earlier than a specific date/time (uses the entry.updated timestamp). The format is: yyyy-MM-ddTHH:MM:ss . Example: 2007-12-24T17:45:59 . | feedHeader
| true
| Specifies whether to add the ROME SyndFeed object as a header. | sortEntries
| false
| If splitEntries is true , this specifies whether to sort the entries by updated date. | consumer.delay
| 60000
| Delay in milliseconds between each poll. | consumer.initialDelay
| 1000
| Milliseconds before polling starts. | consumer.userFixedDelay
| false
| Set to true to use fixed delay between pools, otherwise fixed rate is used. See ScheduledExecutorService in JDK for details. | username | | Camel 2.16: For basic authentication when polling from a HTTP feed | password | | Camel 2.16: For basic authentication when polling from a HTTP feed |
|
Camel initializes the In body on the Exchange with a ROME SyndFeed
. Depending on the value of the splitEntries
flag, Camel returns either a SyndFeed
with one SyndEntry
or a java.util.List
of SyndEntrys
.
...
A route using this would look something like this:
Wiki Markup |
---|
{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:
Wiki Markup |
---|
{snippet:id=ex|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/dataformat/rss/RssFilterWithXPathTest.java} |
Tip |
---|
|
If the URL for the RSS feed uses query parameters, this component will understand them as well, for example if the feed uses alt=rss , then you can for example do from("rss:http://someserver.com/feeds/posts/default?alt=rss&splitEntries=false&consumer.delay=1000").to("bean:rss"); |
...
You can filter out entries quite easily using XPath, as shown in the data format section above. You can also exploit Camel's Bean Integration to implement your own conditions. For instance, a filter equivalent to the XPath example above would be:
Wiki Markup |
---|
{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:
Wiki Markup |
---|
{snippet:id=ex2|lang=java|url=camel/trunk/components/camel-rss/src/test/java/org/apache/camel/component/rss/RssFilterTest.java} |
Include Page |
---|
| Endpoint See Also |
---|
| Endpoint See Also |
---|
|
...