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

Sample 700: Introduction to Message Store

Objective: Introduction to Message Stores.

<!-- Introduction to the Synapse Message Store -->
<definitions xmlns="http://ws.apache.org/ns/synapse">
    <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="onStoreSequence">
        <log>
            <property name="On-Store" value="Storing message"/>
        </log>
    </sequence>
    <sequence name="main">
        <in>
            <log level="full"/>
            <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
            <store messageStore="MyStore" sequence="onStoreSequence"/>
        </in>
        <description>The main sequence for the message mediation</description>
    </sequence>
    <messageStore name="MyStore"/>
</definitions>

Prerequisites:
Start the configuration numbered 700: i.e. wso2esb-samples -sn 700

To Execute the Client :

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. Before Storing the message store mediator will invoke the sequence :onStoreSequence. See the log

INFO - LogMediator To: http://localhost:9000/services/SimpleStockQuoteService, WSAction: urn:placeOrder, SOAPAction: urn:placeOrder, ReplyTo: http://www.w3.org/2005/08/addressing/none, MessageID: urn:uuid:54f0e7c6-7b43-437c-837e-a825d819688c, Direction: request, On-Store = Storing message

You can then use the JMX view of Synapse Message Store by using the jconsole and view the stored Messages and delete them.