Sample 701: Introduction to Message Sampling Processor
Objective:Introduction to Message Sampling Processor.
<!-- Introduction to Synapse Message Sampling Processor --> <definitions xmlns="http://ws.apache.org/ns/synapse"> <sequence name="send_seq"> <send> <endpoint> <address uri="http://localhost:9000/services/SimpleStockQuoteService"> <suspendOnFailure> <errorCodes>-1</errorCodes> <progressionFactor>1.0</progressionFactor> </suspendOnFailure> </address> </endpoint> </send> </sequence> <sequence name="main"> <in> <log level="full"/> <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/> <property name="OUT_ONLY" value="true"/> <store messageStore="MyStore"/> </in> <description>The main sequence for the message mediation</description> </sequence> <messageStore name="MyStore"/> <messageProcessor class="org.apache.synapse.message.processors.sampler.SamplingProcessor" name="SamplingProcessor" messageStore="MyStore"> <parameter name="interval">20000</parameter> <parameter name="sequence">send_seq</parameter> </messageProcessor> </definitions>
Prerequisites:
- Start the configuration numbered 701: i.e. wso2esb-samples -sn 701
- Start the SimpleStockQuoteService if its not already started
To Execute the Client few times:
ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/ -Dmode=placeorder
When you execute the client the message will be dispatched to the main sequence. In the Main sequence store mediator will store the placeOrder request message in the "MyStore" Message Store. Message Processor will consume the messages and forward to the send_seq sequence in configured rate. You will observe that service invocation rate is not changing when increasing the rate we execute the client.