Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
borderfalse
Column
width15%
Include Page
TUSCANYWIKI: SCA Java Subproject Menu
TUSCANYWIKI: SCA Java Subproject Menu
Include Page
TUSCANYWIKI: Java SCA Menu New
TUSCANYWIKI: Java SCA Menu New
Column
width85%

<binding.jms>

The Tuscany Java SCA runtime supports the Java Messaging Service using the <binding.jms> SCDL extension. New JMS based service endpoints can be provided using a <binding.jms> element within a SCA <service>, existing JMS queues can be accessed using a <binding.ws> element within a SCA <reference>.

The JMS binding is one of the SCA extensions which is being formalized in the OASIS Open Composite Services Architecture with a published specifications document.

The JMS binding SCDL has the following format:

Code Block
SCDL Content                                        Supported  Default  Value                                          
============                                        =========  ==============                                          
<binding.jms correlationScheme="string"?            NO         requestmsgidtocorrelid                                  
             initialContextFactory="xs:anyURI"?     YES        org.apache.activemq.jndi.ActiveMQInitialContextFactory  
             jndiURL="xs:anyURI"?                   YES        tcp://localhost:61616                                   
             requestConnection="QName"?             NO                                        
             responseConnection="QName"?            NO
             operationProperties="QName"?           NO
             ... >
  <destination name="xs:anyURI"                     YES        NODESTINATION (created= from target service name when not set)
               type="string"?                       NO         queue
               create="string"?>                    YES        never (set to allways if no destination set)
    <property name="NMTOKEN" type="NMTOKEN">*       NO
  </destination>?
  <connectionFactory name="xs:anyURI"               YES        ConnectionFactory
                     create="string"?>              NO         never
    <property name="NMTOKEN" type="NMTOKEN">*       NO
  </connectionFactory>?
  <activationSpec name="xs:anyURI"                  NO
                  create="string"?>                 NO
    <property name="NMTOKEN" type="NMTOKEN">*       NO
  </activationSpec>?

  <response>
    <destination name="xs:anyURI"                   YES        NORESPONSEDESTINATION (= reference name when not set)
                 type="string"?                     NO         queue
                 create="string"?>                  YES        never (set to allways if no response destination set)
      <property name="NMTOKEN" type="NMTOKEN">*     NO
    </destination>?
    <connectionFactory name="xs:anyURI"             YES        ConnectionFactory
                      create="string"?>             NO         never
      <property name="NMTOKEN" type="NMTOKEN">*     NO
    </connectionFactory>?
    <activationSpec name="xs:anyURI"                NO
                    create="string"?>               NO
      <property name="NMTOKEN" type="NMTOKEN">*     NO
    </activationSpec>?
  </response>?

  <resourceAdapter name="NMTOKEN">?                 NO
    <property name="NMTOKEN" type="NMTOKEN">*       NO
  </resourceAdapter>?

  <headers JMSType="string"?                        NO
           JMSCorrelationId="string"?               NO
           JMSDeliveryMode="string"?                NO         DeliveryMode.NON_PERSISTENT
           JMSTimeToLive="int"?                     YESNO         10000
           JMSPriority="string"?>                   NO         YES1
    <property name="NMTOKEN" type="NMTOKEN">*
  </headers>?

  <operationProperties name="string"                NO
                       nativeOperation="string"?>   NO
    <property name="NMTOKEN" type="NMTOKEN">*       NO
    <headers JMSType="string"?                      NO
             JMSCorrelationId="string"?             NO
             JMSDeliveryMode="string"?              NO
             JMSTimeToLive="int"?                   NO
             JMSPriority="string"?>                 NO
      <property name="NMTOKEN" type="NMTOKEN">*     NO
    </headers>?
  </operationProperties>*
</binding.jms>

(question) see JMS Binding S Vpecification 1.0 for deatils of each of these configuration options.

Binding Operation

<binding.jms>

Some examples:

From the binding.jms module tests.

Code Block