The Java Message Service specifies a standard set of interfaces for enabling Java applications to exchange enterprise messages in an efficient and vendor-neutral manner. Various software vendors who provide messaging products implement the interfaces defined in the JMS specification. These software vendors are called JMS providers in JMS terminology. Java applications that use JMS for exchanging enterprise messages are called JMS clients. JMS clients that don't use any vendor-specific features and use only standard JMS interfaces for implementing their messaging solutions are portable across different JMS providers.
This chapter covers the standard interfaces defined in the JMS specification. These interfaces are defined in a package called javax.jms and are available with the standard software distribution for J2EE (Java 2 Platform, Enterprise Edition). The classes and interfaces belonging to the package javax.jms are available in the j2ee.jar file that can be downloaded with the Java 2 Enterprise Edition 1.2.1.
In this chapter we will cover:
JMS architecture
Different messaging models
JMS Administered objects
JMS Connections and sessions
Message producers and consumers
JMS clients