jms-spec

JMS (Java Message Service) Specification

JMS 2.0 errata release (Rev a)

The first maintenance release of JMS 2.0, Rev a, was released on 16th March 2015. This is an “errata” release.

The specification document and API documentation may be downloaded from the JCP website here.

Contents

Introduction

A JMS 2.0 errata was needed to correct a number of errors in JMS 2.0 which couldn’t wait for JMS 2.1 because they affected the ability of implementers to implement JMS 2.0 and conform to the TCK.

An “errata” is a simple kind of maintenance release intended purely to correct errors in the spec, and which does not define a new version of the spec or define new features. This errata consists of a new JMS 2.0 spec document and a new set of JMS 2.0 javadocs, but there were be no new compatibility tests and it was not necessary to make any changes to the reference implementation or any existing JMS 2.0 implementations.

One of the errors was a bug in the JMS API jar (JMS spec issue 161). To fix that we needed to release a new version of that jar. This jar is actually part of the RI, not the spec, but the bug was included here for convenience.

There is an explanation of what an “errata” is on the Java EE spec JCP processes page.

The JCP process for a maintenance release is https://jcp.org/en/procedures/jcp2#5

This errata was proposed by Nigel Deakin] (Oracle), JSR 343 (JMS 2.0) maintenance lead. Errata releases (and maintenance releases in general) don’t have an expert group. Everyone in the JMS community was invited to comment and contribute, including members of the new JSR 368 (JMS 2.1) expert group, former former members of the old JSR 343 (JMS 2.0) expert group, and subscribers to the community email list.

Issue list

This table lists all the error reports and requests for clarification that have been received subsequent to the original release of JMS 2.0, and shows the disposition of each.

Query: Issues that were resolved in this errata release Query: Issues that were not resolved in this errata release

ID Description Nature Status
JMS_SPEC-167 Session javadoc should mention consumer.close is allowed outside thread of control Document error Accepted for JMS 2.0 errata.
JMS_SPEC-165 Error in javadoc for Connection#stop and JMSContext#stop Document error Accepted for JMS 2.0 errata.
JMS_SPEC-164 Typos in section 7.3.5 and 12.2: Change Session to MessageProducer Document error Accepted for JMS 2.0 errata.
JMS_SPEC-163 Javadoc for JMSContext#setClientID contains obsolete MessageContext reference Document error Accepted for JMS 2.0 errata.
JMS_SPEC-162 Typos in section 7.3 “Asynchronous send” Document error Accepted for JMS 2.0 errata.
JMS_SPEC-161 serialVersionUID of JMSException has changed from JMS 1.1 to JMS 2.0 Compatibility error Accepted for JMS 2.0 errata.
JMS_SPEC-160 JMS API source contains self-closing HTML tags Typo Accepted for JMS 2.0 errata
JMS_SPEC-158 JMS 2.0 introduced incompatible changes to Connection.stop and close and Session.close Compatibility error Accepted for JMS 2.0 errata.
JMS_SPEC-157 JMS 2.0 introduced an incompatible restriction on creating two sessions per connection in Java EE Compatibility error Accepted for JMS 2.0 errata.
JMS_SPEC-156 JMS does not adequately define the behaviour of getAcknowledgeMode, getTransacted and getSessionMode in Java EE Request for clarification Deferred until JMS 2.1
JMS_SPEC-155 JMS 2.0 introduced incompatible changes to createSession(bool,int) Compatibility error Accepted for JMS 2.0 errata.
Added to JMS_SPEC-138 Clarify behaviour of createContext when used on a QueueConnectionFactory or TopicConnectionFactory   Deferred until JMS 2.1.
This is similar to existing issue JMS_SPEC-138, which requests clarification of the behaviour of createConnection with these objects.
JMS_SPEC-133 Update javadoc comments for QueueConnection#createQueueSession and TopicConnection#createTopicSession Document error Accepted for JMS 2.0 errata.
JMS_SPEC-128 Typo in section 4.14 “Queue” Document error Accepted for JMS 2.0 errata.
JMS_SPEC-127 Incorrect HTML in API documentation Document error. These were corrected by the spec lead soon after the original JMS 2.0 release
Diffs of javadoc for Message
Diffs of javadoc for JMSProducer
Diffs of javadoc for MapMessage
Diffs of javadoc for StreamMessage
JMS_SPEC-125 Define whether a JMS provider should call reset after sending a BytesMessage asynchronously Request for clarification. Accepted for JMS 2.0 errata.
JMS_SPEC-122 Typos in javadocs for ConnectionFactory.createContext Document error Accepted for JMS 2.0 errata.
JMS_SPEC-120 Typo: in example, change .class() to .class Document error Accepted for JMS 2.0 errata.
JMS_SPEC-119 Remove reference to password alias Document error Accepted for JMS 2.0 errata.

Change log

This table lists all the changes in JMS 2.0 revision a.

Query: All issues resolved in the JMS 2.0 errata release (Rev a)

ID Description Nature Status
JMS_SPEC-167 Session javadoc should mention consumer.close is allowed outside thread of control Document error Changes to javadoc for Session.
JMS_SPEC-165 Error in javadoc for Connection#stop and JMSContext#stop Document error Changes to javadoc.
JMS_SPEC-164 Typos in section 7.3.5 and 12.2: Change Session to MessageProducer Document error Changes to specification.
JMS_SPEC-163 Javadoc for JMSContext#setClientID contains obsolete MessageContext reference Document error Changes to javadoc for JMSContext#setClientID].
JMS_SPEC-162 Typos in section 7.3 “Asynchronous send” Document error Changes to specification
JMS_SPEC-161 serialVersionUID of JMSException has changed from JMS 1.1 to JMS 2.0 Compatibility error Open MQ Fix details
JMS_SPEC-160 JMS API source contains self-closing HTML tags Typo Changes to javadocs for Message and JMSConsumer
JMS_SPEC-158 JMS 2.0 introduced incompatible changes to Connection.stop and close and Session.close Compatibility error Changes to specification and javadocs for Connection, Session and JMSContext.
JMS_SPEC-157 JMS 2.0 introduced an incompatible restriction on creating two sessions per connection in Java EE Compatibility error Changes to specification and javadocs for Connection.
JMS_SPEC-155 JMS 2.0 introduced incompatible changes to createSession(bool,int) Compatibility error Changes to specification (Connection only)
Changes for Connection.html#createSession(boolean, int)
Changes for Connection.html#createSession(int)
JMS_SPEC-133 Update javadoc comments for QueueConnection#createQueueSession and TopicConnection#createTopicSession Document error Changes to QueueConnection#createQueueSession and TopicConnection#createTopicSession
JMS_SPEC-128 Typo in section 4.14 “Queue” Document error Changes to specification
JMS_SPEC-125 Define whether a JMS provider should call reset after sending a BytesMessage asynchronously Request for clarification. Changes to javadoc for BytesMessage
JMS_SPEC-122 Typos in javadocs for ConnectionFactory.createContext Document error Changes to ConnectionFactory.createContext
JMS_SPEC-120 Typo: in example, change .class() to .class Document error Change to specification
JMS_SPEC-119 Remove reference to password alias Document error Change to specification

Feedback

Comments are invited. See Getting involved.

Timescales

Stage Current plan
(updated 27 Jan 2015)
Actual
Start of Informal discussions   Mon 24 Nov 2014
Informal discussions   Mon 24 Nov 2014 - Fri 16 Dec 2014
Maintenance lead sends list of proposed changes to JCP   Fri 23 Jan 2015
Formal public maintenance review period   Mon 21 Jan 2015 - Sun 22 Feb 2015
Start of EC ballot: Mon 23 Feb 2015 Mon 23 Feb 2015
End of EC ballot: Mon 2 Mar 2015 Mon 2 Mar 2015
Maintenance lead sends final materials sent to PMO Fri 6 March 2015 Fri 6 March 2015
Errata release Mon 9 March 2015 Mon 16 Mar 2015

What is the version number of this errata release?

A Maintenance Release that includes only errata does not define a new version of the spec. An errata update to a specification document is indicated by including a “Rev level” after the specification version number. In this case, the specification version number is “JMS 2.0 Rev a”.

The fix to JMS_SPEC-161 required a new version of the JMS API jar. This again does not define a new version of the spec. However it does reflect a new version of the implementation, so its version number was 2.0.1.

Safe Harbor Statement