This documentation is for WSO2 ESB version 4.5.0. View documentation for the latest release.

Sample 701: Introduction to Message Sampling Processor

Objective: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>
        

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.