1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2005, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */
22 package javax.jms;
23
24 /** A <CODE>TemporaryTopic</CODE> object is a unique <CODE>Topic</CODE> object
25 * created for the duration of a <CODE>Connection</CODE>. It is a
26 * system-defined topic that can be consumed only by the
27 * <CODE>Connection</CODE> that created it.
28 *
29 *<P>A <CODE>TemporaryTopic</CODE> object can be created either at the
30 * <CODE>Session</CODE> or <CODE>TopicSession</CODE> level. Creating it at the
31 * <CODE>Session</CODE> level allows the <CODE>TemporaryTopic</CODE> to participate
32 * in the same transaction with objects from the PTP domain.
33 * If a <CODE>TemporaryTopic</CODE> is created at the
34 * <CODE>TopicSession</CODE>, it will only
35 * be able participate in transactions with objects from the Pub/Sub domain.
36 *
37 * @see Session#createTemporaryTopic()
38 * @see TopicSession#createTemporaryTopic()
39 */
40
41 public interface TemporaryTopic extends Topic
42 {
43
44 /** Deletes this temporary topic. If there are existing subscribers
45 * still using it, a <CODE>JMSException</CODE> will be thrown.
46 *
47 * @exception JMSException if the JMS provider fails to delete the
48 * temporary topic due to some internal error.
49 */
50
51 void delete() throws JMSException;
52 }