Sample 700: Introduction to Synapse Message Stores

<!-- Introduction to the Message Store --> <definitions xmlns=""> <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>


Introduction to Message Stores


  • Start Synapse using the configuration numbered 700 (repository/conf/sample/synapse_sample_700.xml)
    Unix/Linux: sh -sample 700
    Windows: synapse.bat -sample 700

Executing the Client

First execute the sample client as follows.

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.

Now you can use the JMX view of the Synapse message store to see the messages stored in the dead letter channel and manually perform retries on them.

Before storing the message, store mediator will invoke the sequence named 'onStoreSequence'. You should see something similar to the following in the log.

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

Back to Catalog