Objective:Introduction to Message Forwarding Processor.
Code Block | ||
---|---|---|
| ||
<!-- 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.