001: /*
002: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License as published by
011: * the Free Software Foundation; either version 2 of the License, or
012: * (at your option) any later version.
013: *
014: * Resin Open Source is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
017: * of NON-INFRINGEMENT. See the GNU General Public License for more
018: * details.
019: *
020: * You should have received a copy of the GNU General Public License
021: * along with Resin Open Source; if not, write to the
022: *
023: * Free Software Foundation, Inc.
024: * 59 Temple Place, Suite 330
025: * Boston, MA 02111-1307 USA
026: *
027: * @author Scott Ferguson
028: */
029:
030: package com.caucho.jms.connection;
031:
032: import javax.jms.*;
033:
034: import com.caucho.jms.queue.*;
035:
036: /**
037: * A basic topic.
038: */
039: public class TopicPublisherImpl extends MessageProducerImpl implements
040: TopicPublisher {
041: public TopicPublisherImpl(JmsSession session, AbstractTopic topic) {
042: super (session, topic);
043: }
044:
045: /**
046: * Returns the topic
047: */
048: public Topic getTopic() throws JMSException {
049: if (_session == null)
050: throw new javax.jms.IllegalStateException(L
051: .l("getTopic(): TopicPublisher is closed."));
052:
053: return (Topic) super .getDestination();
054: }
055:
056: /**
057: * Publishes a message to the topic
058: *
059: * @param message the message to publish
060: */
061: public void publish(Message message) throws JMSException {
062: send(message);
063: }
064:
065: /**
066: * Publishes a message to the topic
067: *
068: * @param message the message to publish
069: * @param deliveryMode the delivery mode
070: * @param priority the priority
071: * @param timeToLive how long the message should live
072: */
073: public void publish(Message message, int deliveryMode,
074: int priority, long timeToLive) throws JMSException {
075: send(message, deliveryMode, priority, timeToLive);
076: }
077:
078: /**
079: * Publishes a message to the topic
080: *
081: * @param topic the topic the message should be publish to
082: * @param message the message to publish
083: */
084: public void publish(Topic topic, Message message)
085: throws JMSException {
086: send(topic, message);
087: }
088:
089: /**
090: * Publishes a message to the topic
091: *
092: * @param topic the topic the message should be publish to
093: * @param message the message to publish
094: * @param deliveryMode the delivery mode
095: * @param priority the priority
096: * @param timeToLive how long the message should live
097: */
098: public void publish(Topic topic, Message message, int deliveryMode,
099: int priority, long timeToLive) throws JMSException {
100: send(topic, message, deliveryMode, priority, timeToLive);
101: }
102: }
|