<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE mule-configuration PUBLIC "-//MuleSource //DTD mule-configuration XML V1.0//EN" "http://mule.mulesource.org/dtds/mule-configuration.dtd">
<!--
This examples demonstrates how to poll an RSS feed every 5 seconds and send each feed message separately through a feed filter, which in turn decides where messages are routed to on the inbox file system. Instead of a file one could use the smtp endpoint to send out events or further transform the feed.
-->
<mule-configuration id="PollingHttpFeed" version="1.0">
<mule-environment-properties serverUrl=""/>
<connector name="pollingHttp" className="org.mule.providers.http.HttpConnector">
<properties>
<map name="serviceOverrides">
<property name="message.receiver" value="org.mule.providers.http.PollingHttpMessageReceiver"/>
</map>
</properties>
</connector>
<transformers>
<transformer name="XMLByteArrayToFeedObject" className="org.mule.transformers.rss.XMLByteArrayToFeedObject"/>
<transformer name="FeedObjectToXMLString" className="org.mule.transformers.rss.FeedObjectToXMLString"/>
<transformer name="ByteArrayToString" className="org.mule.transformers.simple.ByteArrayToString"/>
<transformer name="StringToByteArray" className="org.mule.transformers.simple.StringToByteArray"/>
</transformers>
<model name="RssExample">
<mule-descriptor name="FeedPoller" implementation="org.mule.components.simple.PassThroughComponent">
<inbound-router>
<endpoint address="http://www.sfgate.com/rss/feeds/business.xml" connector="pollingHttp" transformers="StringToByteArray XMLByteArrayToFeedObject">
<properties>
<property name="pollingFrequency" value="5000"/>
</properties>
</endpoint>
</inbound-router>
<outbound-router>
<router className="org.mule.routing.outbound.rss.FeedSplitter">
<endpoint address="vm://feedFilter"/>
</router>
</outbound-router>
</mule-descriptor>
<mule-descriptor name="FeedFilter" implementation="org.mule.components.simple.PassThroughComponent">
<inbound-router>
<endpoint address="vm://feedFilter"/>
</inbound-router>
<outbound-router>
<catch-all-strategy className="org.mule.routing.ForwardingCatchAllStrategy">
<endpoint address="file://feeds/inbox" transformers="FeedObjectToXMLString"/>
</catch-all-strategy>
<router className="org.mule.routing.outbound.FilteringOutboundRouter">
<endpoint address="file://feeds/favorite/author" transformers="FeedObjectToXMLString"/>
<filter className="org.mule.routing.filters.rss.FeedFilter">
<properties>
<property name="author" value="Daniel Lyons"/>
</properties>
</filter>
</router>
<router className="org.mule.routing.outbound.FilteringOutboundRouter">
<endpoint address="file://feeds/spam" transformers="FeedObjectToXMLString"/>
<filter className="org.mule.routing.filters.rss.FeedFilter">
<properties>
<property name="title" value=".*dish.*"/>
</properties>
</filter>
</router>
</outbound-router>
</mule-descriptor>
</model>
</mule-configuration>