Sample 701: Introduction to Message Sampling Processor

<!-- Introduction to 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>

Objective

Introduction to Message Sampling Processor

Pre-requisites

  • Deploy the SimpleStockQuoteService in the sample Axis2 server and start Axis2
  • Start Synapse using the configuration numbered 701 (repository/conf/sample/synapse_sample_701.xml)
    Unix/Linux: sh synapse.sh -sample 701
    Windows: synapse.bat -sample 701

Executing the Client

Execute the Client few times with command :

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 the configured rate.

You will observe that service invocation rate is not changing when increasing the rate at which we execute the client.

Back to Catalog