Java Reference
In-Depth Information
•
JMS clients
are the programs or components, written in the Java programming lan-
guage, that produce and consume messages. Any Java EE application component
can act as a JMS client.
•
Messages
are the objects that communicate information between JMS clients.
•
Administered objects
are preconfigured JMS objects created by an administrator
for the use of clients. The two kinds of JMS administered objects are destinations
and connection factories, described in “
JMS Administered Objects
”
on page
349
.
Figure 20-2
illustrates the way these parts interact. Administrative tools allow you to bind
destinations and connection factories into a JNDI namespace. A JMS client can then use
resource injection to access the administered objects in the namespace and then establish
a logical connection to the same objects through the JMS provider.
FIGURE 20-2. JMS API Architecture
Messaging Domains
Before the JMS API existed, most messaging products supported either the point-to-point
or the publish/subscribe approach to messaging. The JMS specification provides a sep-
arate domain for each approach and defines compliance for each domain. A stand-alone
JMS provider can implement one or both domains. A Java EE provider must implement
both domains.
In fact, most implementations of the JMS API support both the point-to-point and the pub-
lish/subscribe domains, and some JMS clients combine the use of both domains in a single
application. In this way, the JMS API has extended the power and flexibility of messaging
products.