Repository: camel Updated Branches: refs/heads/master fbb769e2f -> dc929d6d6
Add Camel-atom gitbook docs Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/dc929d6d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/dc929d6d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/dc929d6d Branch: refs/heads/master Commit: dc929d6d62bf1af095d139439678cb29fb3cbdb4 Parents: fbb769e Author: Andrea Cosentino <anco...@gmail.com> Authored: Mon Jan 25 09:11:17 2016 +0100 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Mon Jan 25 09:11:45 2016 +0100 ---------------------------------------------------------------------- components/camel-atom/src/main/docs/readme.adoc | 144 +++++++++++++++++++ docs/user-manual/en/SUMMARY.md | 5 +- 2 files changed, 147 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/dc929d6d/components/camel-atom/src/main/docs/readme.adoc ---------------------------------------------------------------------- diff --git a/components/camel-atom/src/main/docs/readme.adoc b/components/camel-atom/src/main/docs/readme.adoc new file mode 100644 index 0000000..26f7cf7 --- /dev/null +++ b/components/camel-atom/src/main/docs/readme.adoc @@ -0,0 +1,144 @@ +[[Atom-AtomComponent]] +Atom Component +~~~~~~~~~~~~~~ + +The *atom:* component is used for polling Atom feeds. + +Camel will poll the feed every 60 seconds by default. + + *Note:* The component currently only supports polling (consuming) +feeds. + +Maven users will need to add the following dependency to their `pom.xml` +for this component: + +[source,xml] +------------------------------------------------------------ +<dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-atom</artifactId> + <version>x.x.x</version> + <!-- use the same version as your Camel core version --> +</dependency> +------------------------------------------------------------ + +[[Atom-URIformat]] +URI format +^^^^^^^^^^ + +[source,java] +------------------------ +atom://atomUri[?options] +------------------------ + +Where *atomUri* is the URI to the Atom feed to poll. + +[[Atom-Options]] +Options +^^^^^^^ + +[width="100%",cols="10%,10%,80%",options="header",] +|======================================================================= +|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`. + +|`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 +http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html[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 +|======================================================================= + +You can append query options to the URI in the following format, +`?option=value&option=value&...` + +[[Atom-Exchangedataformat]] +Exchange data format +^^^^^^^^^^^^^^^^^^^^ + +Camel will set the In body on the returned `Exchange` with the entries. +Depending on the `splitEntries` flag Camel will either return one +`Entry` or a `List<Entry>`. + +[width="100%",cols="10%,10%,80%",options="header",] +|======================================================================= +|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>)` +|======================================================================= + +Camel can set the `Feed` object on the In header (see `feedHeader` +option to disable this): + +[[Atom-MessageHeaders]] +Message Headers +^^^^^^^^^^^^^^^ + +Camel atom uses these headers. + +[width="100%",cols="10%,90%",options="header",] +|======================================================================= +|Header |Description +|`CamelAtomFeed` |When consuming the `org.apache.abdera.model.Feed` object is set to this +header. +|======================================================================= + +[[Atom-Samples]] +Samples +^^^^^^^ + +In this sample we poll James Strachan's blog. + +[source,java] +--------------------------------------------------------------------------------- +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 setup Camel standalone, not running +in any Container or using Spring. + +[[Atom-SeeAlso]] +See Also +^^^^^^^^ + +* link:configuring-camel.html[Configuring Camel] +* link:component.html[Component] +* link:endpoint.html[Endpoint] +* link:getting-started.html[Getting Started] + +* link:rss.html[RSS] + http://git-wip-us.apache.org/repos/asf/camel/blob/dc929d6d/docs/user-manual/en/SUMMARY.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md index 0e64b28..0937c6a 100644 --- a/docs/user-manual/en/SUMMARY.md +++ b/docs/user-manual/en/SUMMARY.md @@ -2,5 +2,6 @@ * [Introduction](README.md) * [Legal Notice](notice.md) -* Componnet Reference - * [JMS](components/camel-jms/src/main/docs/readme.adoc) +* Components References + * [Atom](components/camel-atom/src/main/docs/readme.adoc) + * [JMS](components/camel-jms/src/main/docs/readme.adoc)