Access Keys:
Skip to content (Access Key - 0)
<?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>
Adaptavist Theme Builder (3.3.2-conf2.10) Powered by Atlassian Confluence 2.10, the Enterprise Wiki.
Free theme builder license