Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Code Block
languagehtml/xml
linenumberstrue
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
    <task class="org.apache.synapse.startup.tasks.MessageInjector" name="CheckPrice">
        <property name="to" value="http://localhost:9000/soapservices/SimpleStockQuoteService"/>
        <property name="soapAction" value="urn:getQuote"/>
        <property name="message">
            <m0:getQuote xmlns:m0="http://services.samples/xsd" xmlns="http://ws.apache.org/ns/synapse">
                <m0:request>
                    <m0:symbol>IBM</m0:symbol>
                </m0:request>
            </m0:getQuote>
        </property>
        <trigger interval="50005"/>
    </task>
    <sequence name="main">
        <in>
            <send/>
        </in>
        <out>
            <log level="custom">
                <property name="Stock _Quote _on" expression="//ns:return/nsax21:lastTradeTimestamp/child::text()"
                          xmlns:nsax21="http://services.samples/xsd" xmlns:ns="http://services.samples"/>
                <property name="For _the _organization" expression="//ns:return/nsax21:name/child::text()"
                          xmlns:nsax21="http://services.samples/xsd" xmlns:ns="http://services.samples"/>
                <property name="Last _Value" expression="//ns:return/nsax21:last/child::text()"
                          xmlns:nsax21="http://services.samples/xsd" xmlns:ns="http://services.samples"/>
            </log>
        </out>
    </sequence>
</definitions>

Objective:

Introduce the concept of tasks and how simple trigger works.

...

When ever ESB gets started and initialized, this task will run periodically in 5 second intervals. You could limit the number of times that you want to run this task by adding a count attribute with an integer as the value, if the count is not present as in this sample this task will run forever.

One You can write his your own task class implementing the org.apache.synapse.startup.Task interface and implementing the execute method to do the task. For this particular sample, we have used the MessageInjector, which just injects a message specified in to the ESB environment.

...