...
The source code for the RSS Binding example is located in the ServiceMix installation directory under the examples\rss-binding
directory in the servicemix.xml
file. It is recommended that you refer to the source code while reading this document.
This example shows how to monitor RSS feed feeds for changes. The main component polls the RSS periodically of this example periodically polls a list of RSS news feeds and when an update is found the new RSS items are send to a trace component for loggingdisplayed on the console.
Running the RSS Binding Example
Warning | ||||
---|---|---|---|---|
| ||||
On a slow news day, you may have wait a while to see any output! |
- From a command shell, go to the RSS Binding example directory:
whereCode Block cd [servicemix_install_dir]\examples\rss-binding
servicemix_install_dir
is the directory in which ServiceMix was installed originally. - Then type:
Code Block [servicemix_install_dir]\bin\servicemix servicemix.xml
Tip title Handy Hint Add $SERVICEMIX_HOME/bin directory to $PATH variable to simplify execution of the examples.
Stopping the RSS Binding Example
...
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Messages flow through the components as follows:
- The rss component, which is implemented by RssPollingComponent class, uses customEditorConfigurer bean to parse the Date variable lastPolledDate into the specified format (yyyy/MMM/dd). lastPolledDate will be used to determine the new items added on the RSS feed.
- The rss component periodically polls RSS feeds defined on its
urlStrings
property for changes. In this case rss component monitors the following RSS feeds: http://rss.cnn.com/rss/cnn_topstories.rssand http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml
.
- When an update is found, the rss component creates a normalized message that contains the new items. It then sends the normalized message to the NMR. The NMR routes the message to the trace component.
- The trace component displays the RSS news items on the console.
Output from running {{\ Wiki Markup [servicemix_install_dir
\]\bin\servicemix
servicemix.xml
}} looks like the following:
Code Block |
---|
<item> <title>Bush supporters' cars allegedly defaced by war veteran</title> <link>http://www.cnn.com/rssclick/2005/US/12/16/bush.vandalism.ap/index.html?sec tion=cnn_topstories</link> <description>Read full story for latest details.</description> <pubDate>Sat, 17 Dec 2005 00:52:01 GMT</pubDate> <guid isPermaLink="false">http://www.cnn.com/rssclick/2005/US/12/16/bush.vandali sm.ap/index.html?section=cnn_topstories</guid> </item> <item> <title>Stern says goodbye to terrestrial radio</title> <link>http://www.cnn.com/rssclick/2005/SHOWBIZ/12/16/stern.last.day.ap/index.htm l?section=cnn_topstories</link> <description>Read full story for latest details.</description> <pubDate>Sat, 17 Dec 2005 02:13:07 GMT</pubDate> <guid isPermaLink="false">http://www.cnn.com/rssclick/2005/SHOWBIZ/12/16/stern.l ast.day.ap/index.html?section=cnn_topstories</guid> </item> <item> <title>Living with the threat of sudden violence</title> <link>http://www.cnn.com/rssclick/2005/WORLD/meast/12/16/btsc.cooper/index.html? section=cnn_topstories</link> <description>"Goddamned son of a bitch!"</description> <pubDate>Fri, 16 Dec 2005 19:38:29 GMT</pubDate> <guid isPermaLink="false">http://www.cnn.com/rssclick/2005/WORLD/meast/12/16/bts c.cooper/index.html?section=cnn_topstories</guid> </item> |
...
Component or Bean ID | Description | ||
---|---|---|---|
rss | This component polls RSS feeds for changes and is implemented by RssPollingComponent class. The property urlStrings defines the RSS feeds to be monitored. When one of the RSS feeds being monitored is updated, this component will convert the content of the RSS feed into a normalized message and send it to a trace component via Normalized Message Router (NMR). | ||
trace | This component accepts a normalized message and display its content to the console. | ||
customEditorConfigurer | This bean allows convenient registration of custom property editors that can modify application context's bean definitions. It uses CustomDateEditor, a propertyEditor for java.util.Date to reformat date variable lastPolledDate. | _customEditorConfigurer | FILL IN |
Related Documentation
For more information on the following topics please see:
We support working with RSS and Atom via the Rome library. We support both the polling of existing RSS feeds to generate JBI messages (the example documented above) and the generation of RSS feeds from JBI messages. To see an example of how to generate RSS feeds from JBI messages go here.
For a brief explanation of the XML tags in the servicemi.xml
file, please see:
...