[JMS_SPEC-84] Clarify when acknowledged persistent messages may be dropped Created: 09/Mar/12  Updated: 28/Mar/12

Status: Open
Project: jms-spec
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Nigel Deakin Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: pd20-veryminor


The javadoc for javax.jms.DeliveryMode (http://docs.oracle.com/javaee/6/api/javax/jms/DeliveryMode.html) states:

Delivery mode covers only the transport of the message to its destination. Retention of a message at the destination until its receipt is acknowledged is not guaranteed by a PERSISTENT delivery mode. Clients should assume that message retention policies are set administratively. Message retention policy governs the reliability of message delivery from destination to message consumer. For example, if a client's message storage space is exhausted, some messages may be dropped in accordance with a site-specific message retention policy.

A message is guaranteed to be delivered once and only once by a JMS provider if the delivery mode of the message is PERSISTENT and if the destination has a sufficient message retention policy.

This introduces several important features of JMS which are not described in such explicit terms in the JMS specification itself, in particular the statement that a JMS provider may drop (delete from storage) an unacknowledged message if the client is somehow running out of resources. The expression "message retention policy" is not used in the spec.

Section 4.10 "Reliability" is the relevant section. This states that "Once-and-only-once message delivery, as described in this specification... does not cover loss due to resource restrictions" but does not mention that messages may be dropped from the server because the client was short of resources.

This should be clarified.

Comment by Nigel Deakin [ 09/Mar/12 ]

This will be evaluated by the expert group for possible inclusion in the JMS 2.0 public draft. Tagging accordingly.

Generated at Sun Apr 30 18:52:31 UTC 2017 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.