About JMS Messaging

The Java Message Service (JMS) API is:

  • A Java Message Oriented Middleware API for sending messages between two or more clients.

  • An implementation to handle the Producer-consumer problem. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914.

  • A messaging standard that allows application components based on the Java Enterprise Edition (Java EE) to create, send, receive, and read messages.

  • Enables communication between different components of a distributed application to be loosely coupled, reliable, and asynchronous.

 

In this section

Definitions

The following are commonly used JMS terms and their definitions.

Term

Definition

Term

Definition

JMS Provider

An implementation of the JMS interface for a Message Oriented Middleware.

JMS Client 

An application or process that produces and/or receives messages.

JMS Producer/Publisher 

A JMS client that creates and sends messages.

JMS Consumer/Subscriber

A JMS client that receives messages.

JMS Message 

An object that contains the data being transferred between JMS clients.

JMS Queue

A staging area that contains messages that have been sent and are waiting to be read by only one consumer. Contrary to what the name queue suggests, messages do not have to be received in the order in which they were sent. A JMS queue guarantees that each message is processed only once.

JMS topic

A distribution mechanism for publishing messages that are delivered to multiple subscribers.