<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:
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 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 create="string"?> NO <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 type="string"? NO create="string"?> YES <property name="NMTOKEN" type="NMTOKEN">* NO </destination>? <connectionFactory name="xs:anyURI" YES create="string"?> NO <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 JMSTimeToLive="int"? YES JMSPriority="string"?> YES <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>
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.