JMS provider endpoints have a number of behaviors that are configurable. These include:
how messages are correlated
the use of durable subscriptions
if the service uses local JMS transactions
the message selectors used by the endpoint
Provider endpoint behaviors are configured using the optional
jms:server
element. The jms:server
element is a child of the WSDL wsdl:port
element and has the
following attributes:
Table 4.4. JMS provider endpoint WSDL extensions
Attribute | Description |
---|---|
useMessageIDAsCorrealationID
| Specifies whether JMS will use the message ID to correlate messages. The
default is false . |
durableSubscriberName
| Specifies the name used to register a durable subscription. |
messageSelector
| Specifies the string value of a message selector to use. For more information on the syntax used to specify message selectors, see the JMS 1.1 specification. |
transactional
| Specifies whether the local JMS broker will create transactions around message
processing. The default is false .
[a] |
[a] Currently, setting the |
Example 4.7 shows the WSDL for configuring a JMS provider endpoint.
Example 4.7. WSDL for a JMS provider endpoint
<service name="JMSService"> <port binding="tns:Greeter_SOAPBinding" name="SoapPort"> <jms:address jndiConnectionFactoryName="ConnectionFactory" jndiDestinationName="dynamicQueues/test.Celtix.jmstransport" > <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.activemq.jndi.ActiveMQInitialContextFactory" /> <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61616" /> </jms:address> <jms:server messageSelector="cxf_message_selector" useMessageIDAsCorrelationID="true" transactional="true" durableSubscriberName="cxf_subscriber" /> </port> </service>