You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

JMS

Current user guide describes some ways to use it http://tuscany.apache.org/sca-java-bindingjms.html
Typical usage patterns and message types
message transformation
multiple providers
multiple clients/hosts

RPC between SCA components

Basic RPC style operations between SCA components using the JMS binding.

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
           targetNamespace="http://sample"
           xmlns:sample="http://sample"
           name="HelloWorld">

    <component name="HelloWorldClient">
        <implementation.java class="helloworld.HelloWorldClient"/>
        <reference name="helloWorldRef">
            <binding.jms uri="jms:HelloWorldService"/>
        </reference>
    </component>

    <component name="HelloWorldServiceComponent">
        <implementation.java class="helloworld.HelloWorldServiceImpl" />
	<service name="HelloWorldService">
            <binding.jms />
        </service>
    </component>

</composite>

One component exposes a JMS service on a queue named 'HelloWorldService' (based on the service name). Another component invokes the service by sending JMS messages to that queue (based on the configuration in the binding.uri). With this configuration messages are marshalled into JMS messages as XML text messgages. After processing at the service a temporary destination is used for the response message. Again the response messages are marshalled into JMS messages as XML text messgages. Exceptions?

The sample helloworld-jms shows this scenario working in full.

Links to JIRA
Link to ML discussions

Asynchronous messages

Fire and forget

Pub sub messages

Alternative Message Types and transformation

Multiple Message Types

Callbacks and conversations

Referencing external JMS providers

Servicing external JMS providers

Alternative JMS providers?

Message priorities

  • No labels