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.