Skip to main content
Last updated November 29, 2016 10:03, by nigeldeakin

Java Message Service Specification

Welcome to the website for the development of the Java Message Service (JMS) specification.

Latest news (Nov 2016)
Oracle has announced that it is withdrawing JSR 368 (JMS 2.1). See this blog posting on The Aquarium

Latest news (Oct 2016)
Update on The future of JMS 2.1 and Java EE 8

Latest news (Oct 2015)
The JMS 2.1 Early Draft is now out! Download it here.
See the JMS 2.1 latest news on JMS 2.1
Find out all about JMS 2.1

JMS 2.1

JSR 368 will be the next version of JMS. For more information see the main JMS 2.1 page.

JMS 2.0 errata

An errata for JMS 2.0 was released in March 2015. For more information see the JMS 2.0 errata page.

JMS 2.0

JMS 2.0 is the latest released version of JMS and was released on 21 May 2013. See the JMS 2.0 Final Release page for information on where to find the specification and API documentation. That page also contains information on the new features in JMS 2.0, where to download the reference implementation, and provides links to various useful articles about JMS 2.0.

About the development of the JMS specification

The Java Message Service (JMS) specification was first released in 1998, at the dawn of Java EE, with a major update in 2002. It then remained unchanged during the decade that followed. Meanwhile, technology evolved and many vendors pressed ahead with enhancements outside the specification. During that time, the rest of Java EE evolved significantly, with improvements and new features added. Despite the lack of development of the specification, JMS continued to be a popular and successful standard, with numerous competing implementations, both standalone and as part of complete Java EE stacks, and open and closed source.

On 1st March 2011 a Java Specification Request (JSR) was submitted to the Java Community Process which proposed the development of JMS 2.0. This is JSR 343.

On 21 May 2013 JMS 2.0 was released. This major update introduces a new simplified API and adds support for the injection of JMS connections into Java EE applications. It forms part of Java EE 7. Now that JMS 2.0 is released, JSR 343 moves into maintenance mode.

In August 2014 a new Java Specification Request (JSR) was submitted to the Java Community Process which proposed the development of JMS 2.1. For more information see the main JMS 2.1 page.

The purpose of this website is to support the continuing development of the JMS specification. Currently it is focussed on JSR 343 (JMS 2.0) and JSR 368 (JMS 2.1) by hosting their mailing lists, issue tracker, wiki and any other resources that are required. It runs in conjunction with the official JSR 343 page on the JCP website and the official JSR 368 page on the JCP website which are used mainly to conduct the formal aspects of these JSRs.

This website is a project hosted by To get the best out of this website, to join the mailing lists and use the issue tracker, you need to register with and log in.

The maintenance lead for JSR 343 (JMS 2.0) and the prospective specification lead for JSR 368 (JMS 2.1) is Nigel Deakin (Oracle).

Getting involved

Here are some ways to get involved in the development of the JMS specification:

  • If you'd like to contribute to the development of the JMS specification, or simply observe what is going on in the expert group, join the mailing list. See below for instructions on how to join.
  • If you'd like to submit proposals for consideration by the expert group, log them as issues in the JIRA issue tracker. Please read How to use the issue tracker. We're interested in comments on JMS 2.0 as well as proposals for JMS 2.1.
  • A new expert group is being formed for JSR 368 (JMS 2.1). Applications to join the JSR 368 expert group are now invited. See Joining the JMS expert group.
  • JSR 343 (JMS 2.0) is now in maintenance mode and is administered directly by the maintenance lead.

JMS community mailing lists

Mailing lists open to everyone

Email address Purpose Access Mailing list for general discussion about the JMS specification, including JMS 2.0 and JMS 2.1. Everyone is welcome to join.

This list can also be used to raise issues with, or participate in discussions with, the spec lead and expert group. All members of the expert group are expected to subscribe to this list.

Discussions on the mailing list are forwarded to this list to allow other members of the community to monitor the discussions of the expert group. Members of the community are welcome to join in on these discussions, but they'll need to send their replies to this list rather than directly to the expert group.
Anyone may send email to this list. Messages from non-subscribers are moderated (to prevent spam) so there may be a delay.

To receive messages from this list, you need to "join" the project and then subscribe to this list. (How to do this). Messages from subscribers are not moderated.

Online archive of past messages. Mailing list for JIRA issue notifications. Everyone is welcome to join.

Additions and updates to the issue tracker are automatically sent to this list. Please don't use this list for discussions.
Before you can receive messages from or post messages to this list, you need to join the project as an observer and then subscribe to this list. (How to do this)

Online archive of past messages Mailing list for source code repository update notifications.

Anyone by join, but there's no need to unless you are updating the source code repository yourself. Whenever there's anything new of interest an email will be sent to the user mailing list. Please don't use this list for discussions.
Before you can receive messages from or post messages to this list, you need to join the project as an observer and then subscribe to this list. (How to do this)

Online archive of past messages

Mailing lists FAQ

How do I join the project?
Simply click on Join this project on the left, and you'll be instantly become a member. This is sometimes referred to as an "observer role". You'll need to be logged into This will also add this project to your My Projects page.
How to I subscribe to a mailing list?
After joining the project, navigate to, find the list you want to subscribe to, and press the Subscribe button.
I tried to reply to an email but it was rejected. Why?
If you subscribe to you'll automatically receive a copy of all emails sent to the expert group. You're welcome to reply to any email with a comment. However if you are not a member of the expert group you'll need to change the recipient to before replying, otherwise your email will be rejected. The expert group will see all emails sent to

Observer mailing list (not used)

Email address Purpose Access Legacy mailing list for observers of JSR 368.

Being an "observer" of a JSR is an obsolete concept and although this mailing list does exist it is not used.

If you wish to observe what is going on with JSR 368, join the join the mailing list using the instructions above.
Registered observers of JSR 368 are automatically subscribed to this list. However being an "observer" of a JSR is an obsolete concept and applications to be observers will not be accepted.

There is currently no online archive of past messages.

JMS expert group mailing lists

There are two mailing lists that only JMS expert group members may subscribe. These are described in JMS expert group mailing lists.

Issue tracker

Comments and changes to the JMS specification will be managed using the JIRA issue tracker.

If you would like to propose a change to the JMS specification, please create an issue containing a description of the proposed change, or search for an existing issue and add a comment. You need to sign up for a account and login first.

How to create an issue

Here are some guidelines to follow when creating a new issue:

  • Please don't combine unrelated subjects in the same issue. Create a separate issue for each.
  • Issue Type: .Choose one of Bug, New Feature, Task or Improvement from the pop-up menu.
    • Bug: There is a problem or error in the spec, API or javadocs
    • New Feature: Use this to suggest a new feature which is not in the existing spec, API or javadocs
    • Task: Please don't use this
    • Improvement: An improvement or enhancement to an existing feature of the spec, API or javadocs
  • Summary Please enter a meaningful one-line summary of your issue
  • Priority: Please don't change this
  • Component/s We will use this in the future to allow you to categorise your issue
  • Affects version/s Please specify which version of the JMS specification your comment relates to. Normally this will be 1.1, the latest released version.
  • Environment: Please leave blank
  • Description: Please describe your issue in as much detail as you wish. You can add comments later.
  • Original Estimate: Please leave blank
  • Attachment: There shouldn't be much need to use this, but if necessary you can upload files here
  • Issuezilla Id: Please leave blank
  • Status Whiteboard: Please leave blank. We may start using this field in the future.
  • Tags: Please leave blank. These should only be set by the project administrators, so if you set these yourself you'll confuse things.

Procedures and policies

The Java EE Backwards Compatibility Requirements (on the Java EE WIki) describe the requirements to make releases of JMS 2.0 backwards compatible with previous versions.

Important legal statement

Safe harbor statement.

Please Confirm