Sample 301: Message Injector Task to invoke a named sequence
<definitions xmlns="http://ws.apache.org/ns/synapse">
<task class="org.apache.synapse.startup.tasks.MessageInjector" name="InjectToSequenceTask">
<property name="soapAction" value="urn:getQuote"/>
<property name="format" value="soap11"/>
<property name="injectTo" value="sequence"/>
<property name="sequenceName" value="SampleSequence"/>
<property name="message">
<m0:getQuote xmlns:m0="http://services.samples">
<m0:request>
<m0:symbol>IBM</m0:symbol>
</m0:request>
</m0:getQuote>
</property>
<trigger interval="5"/>
</task>
<sequence name="SampleSequence">
<log level="custom">
<property name="MSG" value="SampleSequence invoked"/>
</log>
<send receive="receivingSequence">
<endpoint>
<address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
</endpoint>
</send>
</sequence>
<sequence name="receivingSequence">
<log level="custom">
<property xmlns:ns="http://services.samples" name="Stock_Quote_on"
expression="//ns:return/ns:lastTradeTimestamp/child::text()"/>
<property xmlns:ns="http://services.samples" name="For_the_organization"
expression="//ns:return/ns:name/child::text()"/>
<property xmlns:ns="http://services.samples" name="Last_Value"
expression="//ns:return/ns:last/child::text()"/>
</log>
</sequence>
</definitions>
Objective
Demonstrate how to schedule tasks to invoke a named sequence periodically using
the MessageInjector task implementation
Executing the Client
The above configuration adds a scheduled task and sequences to the Synapse runtime.
The task is configured to run every 5 seconds (note the 'interval' attribute on
the 'trigger' element).
In this sample, the sequence "SampleSequence" will be invoked by the task and
then from the sequence, the injected messages will be sent to the sample Axis2
server, which will send back a response to Synapse. So every 5 seconds you will
notice that Axis2 is generating a quote and Synapse is receiving the stock quote
response. You will also see "SampleSequence invoked" message getting logged on
the console.
Back to Catalog