jakartaee / messaging

Jakarta Messaging
https://eclipse.org/ee4j/messaging
Other
39 stars 33 forks source link

Clarify when acknowledged persistent messages may be dropped #84

Open glassfishrobot opened 12 years ago

glassfishrobot commented 12 years ago

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.

glassfishrobot commented 6 years ago
glassfishrobot commented 12 years ago

@glassfishrobot Commented Reported by @nigeldeakin

glassfishrobot commented 12 years ago

@glassfishrobot Commented @nigeldeakin said: This will be evaluated by the expert group for possible inclusion in the JMS 2.0 public draft. Tagging accordingly.

glassfishrobot commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA JMS_SPEC-84