• Automatic reconnect and send-retry based on configurable timeout and retry
intervals.
• Request/response management using temporary destinations, and JMSReplyTo
semantics.
• An encapsulation of JMS provider-specific information when necessary, such as
configuration information, direct instantiation of ConnectionFactories, and JMS
provider-specific exception handling details.
• A mechanism for setting JMS specific options as properties in the Call object, and
passing them through to the JMS provider during the invocation.
• Pub/Sub and point to point queueing support with durability and persistent send
options
As a beginning user of this subsystem, it is not necessary to be intimately aware of the
details of all of these capabilities. They are all hidden below the standard Axis Call and
Service interfaces, yet there when you need them. Just a few simple setup steps are all
you need to get started using the JMS transport layer. Details are provided below.
Setting up the JNDI store for JMS Administered objects
The JMS specification prescribes the use of JNDI for the discovery and instantiation of
ConnectionFactory objects, and Topic and Queue destinations. The configuration of the
JNDI access and the setup of Topic and Queue destinations is done in a JMS provider-
specific fashion. You MUST perform this step in order to proceed to running the
example.
In our example, the JNDI access makes use of the file-based FSContext version 1.2 beta
3 release, available from http://java.sun.com/products/jndi/index.html. The minimum
required objects to set up are listed in the jndi-connection-factory.properties located in
the samples/jms directory. The required fields to set up are:
java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
java.naming.provider.url=file:///c:/JNDIStore
The JNDI name used to access the ConnectionFactory is “MyCF”, and the lookup name
for the sample queue is “MyQ”.
For JMS provider-dependant instructions on how to set this up, see the “JMS Provider
Setup Instructions” section of this document.
Running the JMS sample
The JMS sample found in samples/jms, is an invocation of an external stock quote
service. For the purpose of keeping the example simple, it is a two-part invocation that
first sends the request across the JMS transport to a local JMS listener, which in turn
invokes another call to an external service across HTTP (see figure 2).
- 1
- 2
- 3
- 4
- 5
- 6
前往页