Sample 702: Introduction to Message Forwarding Processor
<!-- 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>
Objective
Introduction to Message Forwarding Processor
Executing the Client
Execute the sample client a few times with the following command. Note that
we still haven't started the sample Axis2 server.
ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/ -Dmode=placeorder
Deploy the SimpleStockQuoteService in the sample Axis2 server and start Axis2.
When you start the service you will see messages getting delivered to the service,
even though the service was actually down when we invoked the sample 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 which is configured as a message context property. Message
processor will remove the message from the store only if the message is delivered
successfully.
Back to Catalog