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.