JMS interfaces - explicit polling for messages
Applications can use JMS to explicitly poll for messages on a destination, then retrieve messages for processing by business logic beans (enterprise beans).
WebSphere® Application Server supports asynchronous messaging based on the Java™ Message Service (JMS) and Java EE Connector Architecture (JCA) specifications, which provide a common way for Java programs (clients and Java EE applications) to create, send, receive, and read asynchronous requests, as messages.
The base support for asynchronous messaging that uses JMS, shown in the following figure, provides the common set of JMS interfaces and associated semantics that define how a JMS client can access the facilities of a JMS provider. This enables WebSphere J2EE applications, as JMS clients, to exchange messages asynchronously with other JMS clients by using JMS destinations (queues or topics).
Applications can use both point-to-point and publish/subscribe
messaging (referred to as messaging domains
in the JMS specification),
and support the different semantics of each domain.
WebSphere Application Server supports applications
that use JMS 1.1 domain-independent interfaces (referred to as the common
interfaces
in the JMS specification). With JMS 1.1, the preferred
approach for implementing applications is to use the common interfaces.
The JMS 1.1 common interfaces provide a simpler programming model
than domain-specific interfaces. Also, applications can create both
queues and topics in the same session and coordinate their use in
the same transaction.
The common interfaces are also parents of domain-specific interfaces. These domain-specific interfaces (provided for JMS 1.0.2 in WebSphere Application Server Version 5) are supported only to provide inter-operation and compatibility with applications that have already been implemented to use those interfaces.
A WebSphere application can use the JMS interfaces to explicitly poll a JMS destination to retrieve an incoming message, then pass the message to a business logic bean. The business logic bean uses standard JMS calls to process the message; for example, to extract data or to send the message on to another JMS destination.
WebSphere applications can use standard JMS calls to process messages, including any responses or outbound messaging. Responses can be handled by an enterprise bean acting as a sender bean, or handled in the enterprise bean that receives the incoming messages. Optionally, this process can use two-phase commit within the scope of a transaction.
WebSphere applications can also use message-driven beans, as described in the related topics about message-driven beans.
For more details about JMS, see Oracle Java Message Service (JMS) specification documentation.