Java Message Service

The Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients. It is a Java API that allows applications to create, send, receive, and read messages. The JMS API enables communication that is loosely coupled, asynchronous and reliable. The current version of the JMS specification is version 1.1.

The below links provide many step-by-step examples on how to use the Java Message Service API.

Quick Start

A number of quick start examples for JMS:

JMS Hello World example
A Java Message Server Hello World example that explains the basic JMS concepts. It uses the ActiveMQ JMS provider from Apache and offers a first look at sending and receiving messages.
JMS Point-to-Point messaging example
A point-to-point (PTP) product or application is built on the concept of message queues, senders and receivers.
JMS Publish/Subscribe messaging example
In a publish/subscribe (pub/sub) product or application, clients address messages to a topic, which functions somewhat like a bulletin board.

Core Concepts

How JMS core concepts work:

JMS Message Structure
An overview on the different parts of a JMS message and how to use them. JMS Priority
Explains the JMS priority concepts and provides a code sample which shows how to specify a priority level when sending a JMS message.

Provider Setup

A number of JMS provider installation tutorials:

Install ActiveMQ
A step-by-step tutorial on how to install ActiveMQ on Windows.
Install RabbitMQ
A step-by-step tutorial on how to install RabbitMQ on Windows.
Install HermesJMS
HermesJMS is an extensible console that helps you interact with JMS providers. This post contains a step-by-step tutorial on how to install HermesJMS on Windows.

References

Some useful references when studying JMS:

The Java EE 6 Tutorial