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

com.sun.messaging.jmq.jmsclient.TopicPublisherImpl Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2000, 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 com.sun.messaging.jmq.jmsclient;

import jakarta.jms.*;

//import com.sun.messaging.AdministeredObject;

/**
 * A client uses a TopicPublisher for publishing messages on a topic. TopicPublisher is the Pub/Sub variant of a JMS
 * message producer.
 *
 * 

* Normally the Topic is specified when a TopicPublisher is created and in this case, attempting to use the methods for * an unidentified TopicPublisher will throws an UnsupportedOperationException. * *

* In the case that the TopicPublisher with an unidentified Topic is created, the methods that assume the Topic has been * identified throw an UnsupportedOperationException. * * @see TopicSession#createPublisher(Topic) */ public class TopicPublisherImpl extends MessageProducerImpl implements TopicPublisher { Topic topic = null; // bug 6360068 - Class defines field that obscures a superclass field // SessionImpl session = null; public TopicPublisherImpl(SessionImpl session, Topic topic) throws JMSException { super(session, topic); // this.session = session; this.topic = topic; } /** * Get the topic associated with this publisher. * * @return this publisher's topic * * @exception JMSException if JMS fails to get topic for this topic publisher due to some internal error. */ @Override public Topic getTopic() throws JMSException { checkState(); return topic; } /** * Publish a Message to the topic Use the topics default delivery mode, timeToLive and priority. * * @param message the message to publish * * @exception JMSException if JMS fails to publish the message due to some internal error. * @exception MessageFormatException if invalid message specified * @exception InvalidDestinationException if a client uses this method with a Topic Publisher with an invalid topic. */ @Override public void publish(Message message) throws JMSException { super.send(message); } /** * Publish a Message to the topic specifying delivery mode, priority and time to live to the topic. * * @param message the message to publish * @param deliveryMode the delivery mode to use * @param priority the priority for this message * @param timeToLive the message's lifetime (in milliseconds). * * @exception JMSException if JMS fails to publish the message due to some internal error. * @exception MessageFormatException if invalid message specified * @exception InvalidDestinationException if a client uses this method with a Topic Publisher with an invalid topic. */ @Override public void publish(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException { super.send(message, deliveryMode, priority, timeToLive); } /** * Publish a Message to a topic for an unidentified message producer. Use the topics default delivery mode, timeToLive * and priority. * *

* Typically a JMS message producer is assigned a topic at creation time; however, JMS also supports unidentified * message producers which require that the topic be supplied on every message publish. * * @param topic the topic to publish this message to * @param message the message to send * * @exception JMSException if JMS fails to publish the message due to some internal error. * @exception MessageFormatException if invalid message specified * @exception InvalidDestinationException if a client uses this method with an invalid topic. */ @Override public void publish(Topic topic, Message message) throws JMSException { super.send(topic, message); } /** * Publish a Message to a topic for an unidentified message producer, specifying delivery mode, priority and time to * live. * *

* Typically a JMS message producer is assigned a topic at creation time; however, JMS also supports unidentified * message producers which require that the topic be supplied on every message publish. * * @param topic the topic to publish this message to * @param message the message to send * @param deliveryMode the delivery mode to use * @param priority the priority for this message * @param timeToLive the message's lifetime (in milliseconds). * * @exception JMSException if JMS fails to publish the message due to some internal error. * @exception MessageFormatException if invalid message specified * @exception InvalidDestinationException if a client uses this method with an invalid topic. */ @Override public void publish(Topic topic, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException { super.send(topic, message, deliveryMode, priority, timeToLive); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy