Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

URI format

Code Block
atom://atomUri[?options]

Where atomUri is the URI to the atom feed to poll.

...

Property

Default

Description

splitEntries

true

If true Camel will poll the feed and for the subsequent polls return each entry poll by poll. If the feed contains 7 entries then Camel will return the first entry on the first poll, the 2nd entry on the next poll, until no more entries where as Camel will do a new update on the feed. If false then Camel will poll a fresh feed on every invocation.

filter

true

Is only used by the split entries to filter the entries to return. 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.

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

60000

Delay in millis between each poll.

consumer.initialDelay

1000

Millis before polling starts.

consumer.userFixedDelay

false

If true to , 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&...

Exchange data format

Camel will set the in In body on the returned Exchange with the entries. Depending on the splitEntries flag 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 entires entire list of entries from the feed is set: exchange.in.body(List<Entry>)

Camel can set the Feed object on the in In header (see feedHeader option to disable this):

Message Headers

Camel atom uses these headers.

Header

Description

org.apache.camel.component.atom.feed

Camel 1.x: When consuming the org.apache.abdera.model.Feed object is set to this header.

CamelAtomFeed

Camel 2.0: When consuming the org.apache.abdera.model.Feed object is set to this header.

...

In this sample we poll James Strahams Strachan's blog.

Code Block
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 SEDA queue. The sample also shows how to setup Camel standalone, not running in any Container or using Spring.

...