This documentation is for WSO2 Enterprise Service Bus version 4.7.0 . View documentation for the latest release.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

 

Objective:Introduction to Message Forwarding Processor.

Code Block
languagehtml/xml
            <!-- Introduction to Scheduled Message Forwarding Processor -->

            <definitions xmlns="http://ws.apache.org/ns/synapse">

            <endpoint name="StockQuoteServiceEp">
            <address uri="http://localhost:9000/services/SimpleStockQuoteService">
            <suspendOnFailure>
            <errorCodes>-1</errorCodes>
            <progressionFactor>1.0</progressionFactor>
            </suspendOnFailure>
            </address>
            </endpoint>
            <sequence name="fault">
            <log level="full">
            <property name="MESSAGE" value="Executing default 'fault' sequence"/>
            <property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/>
            <property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/>
            </log>
            <drop/>
            </sequence>
            <sequence name="main">
            <in>
            <log level="full"/>
            <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
            <property name="OUT_ONLY" value="true"/>
            <property name="target.endpoint" value="StockQuoteServiceEp"/>
            <store messageStore="MyStore"/>
            </in>
            <description>The main sequence for the message mediation</description>
            </sequence>
            <messageStore name="MyStore"/>
            <messageProcessor
            class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor"
            name="ScheduledProcessor" messageStore="MyStore">
            <parameter name="interval">10000</parameter>
            </messageProcessor>
            </definitions>

Prerequisites:

  • Start the configuration numbered 702: i.e. wso2esb-samples -sn 702

To Execute the Client:

Code Block
ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/ -Dmode=placeorder

Now Start the SimpleStockQuoteService. When you Start the service you will see message getting delivered to the service. Even though service is down when we invoke it from the client. Here in the Main sequence store mediator will store the placeOrder request message in the "MyStore" Message Store. Message Processor will send the message to the endpoint configured as a message context property. Message processor will remove the message from the store only if message delivered successfully.