All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jakarta.jms.DeliveryMode Maven / Gradle / Ivy

Go to download

This artifact provides a single jar that contains all classes required to use remote EJB and JMS, including all dependencies. It is intended for use by those not using maven, maven users should just import the EJB and JMS BOM's instead (shaded JAR's cause lots of problems with maven, as it is very easy to inadvertently end up with different versions on classes on the class path).

There is a newer version: 34.0.0.Final
Show newest version
/*
 * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package jakarta.jms;

/**
 * The delivery modes supported by the Jakarta Messaging API are {@code PERSISTENT} and {@code NON_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 Jakarta Messaging 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 {@code 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 Jakarta Messaging provider if the delivery mode of the message is * {@code PERSISTENT} and if the destination has a sufficient message retention policy. * * @version Jakarta Messaging 2.0 * @since JMS 1.0 */ public interface DeliveryMode { /** * This is the lowest-overhead delivery mode because it does not require that the message be logged to stable storage. * The level of Jakarta Messaging provider failure that causes a {@code NON_PERSISTENT} message to be lost is not defined. * *

* A Jakarta Messaging provider must deliver a {@code NON_PERSISTENT} message with an at-most-once guarantee. This means that it may * lose the message, but it must not deliver it twice. */ int NON_PERSISTENT = 1; /** * This delivery mode instructs the Jakarta Messaging provider to log the message to stable storage as part of the client's send * operation. Only a hard media failure should cause a {@code PERSISTENT} message to be lost. */ int PERSISTENT = 2; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy