Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Chapter 8. Atom
Atom Component Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The atom: component is used for polling atom feeds.
Apache Camel will poll the feed every 500 milliseconds by default. Note: The component currently supports only polling (consuming) feeds.
Maven users will need to add the following dependency to their
pom.xml
for this component:
URI format Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
atom://atomUri[?options]
atom://atomUri[?options]
Where atomUri is the URI to the Atom feed to poll.
Options Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Property | Default | Description |
---|---|---|
splitEntries
|
true
|
If true Apache Camel will poll the feed and for the subsequent polls return each entry poll by poll. If the feed contains 7 entries then Apache Camel will return the first entry on the first poll, the 2nd entry on the next poll, until no more entries where as Apache Camel will do a new update on the feed. If false then Apache Camel will poll a fresh feed on every invocation.
|
filter
|
true
|
Is only used by the split entries to filter the entries to return. Apache Camel will default use the UpdateDateFilter that only return new entries from the feed. So the client consuming from the feed never receives the same entry more than once. The filter will return the entries ordered by the newest last.
|
lastUpdate
|
null
|
Is only used by the filter, as the starting timestamp for selection never entries (uses the entry.updated timestamp). Syntax format is: yyyy-MM-ddTHH:MM:ss . Example: 2007-12-24T17:45:59 .
|
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 .
|
feedHeader
|
true
|
Sets whether to add the Abdera Feed object as a header. |
sortEntries
|
false
|
If splitEntries is true , this sets whether to sort those entries by updated date.
|
consumer.delay
|
500
|
Delay in millis between each poll. |
consumer.initialDelay
|
1000
|
Millis before polling starts. |
consumer.userFixedDelay
|
false
|
If true , use fixed delay between pools, otherwise fixed rate is used. See ScheduledExecutorService in JDK for details.
|
You can append query options to the URI in the following format,
?option=value&option=value&...
Camel on EAP deployment Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
This component is supported by the Camel on EAP (Wildfly Camel) framework, which offers a simplified deployment model on the Red Hat JBoss Enterprise Application Platform (JBoss EAP) container. For details of this model, see chapter "Apache Camel on Red Hat JBoss EAP" in "Deploying into a Web Server".
Exchange data format Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Apache Camel will set the In body on the returned
Exchange
with the entries. Depending on the splitEntries
flag Apache Camel will either return one Entry
or a List<Entry>
.
Option | Value | Behavior |
---|---|---|
splitEntries
|
true
|
Only a single entry from the currently being processed feed is set: exchange.in.body(Entry)
|
splitEntries
|
false
|
The entire list of entries from the feed is set: exchange.in.body(List<Entry>)
|
Apache Camel can set the
Feed
object on the in header (see feedHeader
option to disable this):
Message Headers Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Apache Camel atom uses these headers.
Header | Description |
---|---|
CamelAtomFeed
|
Apache Camel 2.0: When consuming the org.apache.abdera.model.Feed object is set to this header.
|
Samples Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
In the following sample we poll James Strachan's blog:
from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("seda:feeds");
from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("seda:feeds");
In this sample we want to filter only good blogs we like to a SEDA queue. The sample also shows how to set up Apache Camel standalone, not running in any container or using Spring.