+

Search Tips   |   Advanced Search

IBM proprietary JMS endpoint URL syntax (deprecated)

A Java Message Service (JMS) endpoint URL is used to access JAX-WS or JAX-RPC web services with the JMS transport. This proprietary URL specifies the Java Message Service (JMS) destination and connection factory, as well as the port component name for the web service request. This endpoint URL is similar to the HTTP endpoint URL, which specifies the host and port as well as the context root and port component name.

A JMS endpoint URL has the following general form:

jms:/[queue|topic]?<property>=<value>&<property>=<value>&...
The URL consists of the jms: transport type, followed by either /queue or /topic to indicate the JMS destination type, followed by the query string containing a list of property and value pairs used to specify the JMS endpoint information.

The properties supported in the URL string are described in the following tables:

Property name Description
destination JNDI name of the destination queue or topic.
connectionFactory JNDI name of the connection factory.
targetService Name of the port component to which the request is dispatched.

Property name Description
initialContextFactory Name of the initial context factory to use which is mapped to the java.naming.factory.initial property.
jndiProviderURL JNDI provider URL, which is mapped to the java.naming.provider.url property.

Property name Description
deliveryMode Indicates whether the request message is persistent or not. The valid values are 1 for nonpersistent and 2 for persistent. The default is 1.
timeToLive Specifies, in milliseconds, the lifetime of the JMS request message. The default value of 0 indicates an infinite lifetime. However, when we are using web services, this property is bounded by the value specified for the synchTimeout property. The setting for the synchTimeout property determines how long a client waits for a response from the server. This bounding prevents the JMS message from remaining active after the client has stopped waiting for a response from the server.
priority JMS priority associated with the request message. Valid values are between 0 to 9. The default is 4. A value of 0 is the lowest priority and a value of 9 is the highest priority.
replyToDestination JNDI name of a queue to be used to receive reply messages. Using this optional property enables the client to use a permanent queue, rather than a temporary queue, for receiving replies.

If we set values for the deliveryMode, timeToLive, and priority properties on the JMS request, these values are propagated from the JMS request message to the corresponding JMS reply message.

The required properties, destination, connectionFactory, and targetService must be contained in the JMS endpoint URL string. The rest of the properties are optional.

We can set any of the properties on the client Stub object. The various properties can be specified by including them as part of the endpoint URL or we can set these properties programmatically by the client on the Stub object. Properties specified on the client Stub object take precedence over properties specified as part of a JMS endpoint URL string.

  • Use SOAP over JMS to transport web services
  • Configure a permanent replyTo queue for JAX-RPC web services using SOAP over JMS (deprecated)
  • Invoking one-way JAX-RPC web service requests transactionally using the JMS transport (deprecated)
  • IBM proprietary SOAP over JMS protocol (deprecated)