-
public interface DeliveryMode
The delivery modes supported by the JMS API arePERSISTENT
andNON_PERSISTENT
.A client marks a message as persistent if it feels that the application will have problems if the message is lost in transit. A client marks a message as non-persistent if an occasional lost message is tolerable. Clients use delivery mode to tell a JMS provider how to balance message transport reliability with throughput.
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.- Since:
- JMS 1.0
- Version:
- JMS 2.0
-
-
Field Summary
Fields Modifier and Type Field and Description static int
NON_PERSISTENT
This is the lowest-overhead delivery mode because it does not require that the message be logged to stable storage.static int
PERSISTENT
This delivery mode instructs the JMS provider to log the message to stable storage as part of the client's send operation.
-
-
-
Field Detail
-
NON_PERSISTENT
static final int NON_PERSISTENT
This is the lowest-overhead delivery mode because it does not require that the message be logged to stable storage. The level of JMS provider failure that causes aNON_PERSISTENT
message to be lost is not defined.A JMS provider must deliver a
NON_PERSISTENT
message with an at-most-once guarantee. This means that it may lose the message, but it must not deliver it twice.- See Also:
- Constant Field Values
-
PERSISTENT
static final int PERSISTENT
This delivery mode instructs the JMS provider to log the message to stable storage as part of the client's send operation. Only a hard media failure should cause aPERSISTENT
message to be lost.- See Also:
- Constant Field Values
-
-
Document created the 11/06/2005, last modified the 18/08/2025
Source of the printed document:https://www.gaudry.be/en/java-api-javaee-rf-javax/jms/deliverymode.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author of this site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.