Atom Feed Consumption Service

Versions: 7.3.2.0 — current

The Atom Feed Consumption Service is a service in Repose which enables simple reading of Atom feeds. By centralizing this function in a service, Repose developers may share resources (and reduce overhead) when multiple Repose components need to read the same feed.

Configuration

The Atom Feed Consumption service can be enabled per cluster by listing it as a service in the System model, like so:

The service itself can be configured in the atom-feed-service.cfg.xml file in your configuration directory. An example configuration file is shown below:

The schema for Atom Feed Consumption service configuration is available on GitHub. Contained in the schema are all of the configurable entities along with a description for each one.

Usage

  1. Configure an Atom Feed in the atom-feed-service.cfg.xml configuration file described above. Make sure to note the exact value of the "id" attribute for your feed.

  2. Add a dependency to the component under development for the following Maven coordinate (of the form groupId:artifactId:version):

  3. Wire in the Atom Feed Consumption service spring bean.
  4. Write one or more Atom Feed listener(s) which conform(s) to the AtomFeedListener interface.
  5. Create an instance of your listener, like so:

  6. Register your listener(s) with the Atom Feed Consumption service using the configured Atom Feed "id" from above, like so:

  7. You're done! Your listener will get callbacks for all new entries in your configured Atom Feed.
  8. To unregister your listener, use the listenerId returned from the .registerListener(...) method, like so:

Architecture

The Atom Feed Consumption service is built on top of the Akka framework. It utilizes the Akka actor system to scale horizontally as the number of Atom Feeds being monitored grows. In addition, most processing done by the Atom Feed Consumption service is asynchronous and non-blocking.