01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * 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>Queue</CODE> object encapsulates a provider-specific queue name.
25: * It is the way a client specifies the identity of a queue to JMS API methods.
26: * For those methods that use a <CODE>Destination</CODE> as a parameter, a
27: * <CODE>Queue</CODE> object used as an argument. For example, a queue can
28: * be used to create a <CODE>MessageConsumer</CODE> and a
29: * <CODE>MessageProducer</CODE> by calling:
30: *<UL>
31: *<LI> <CODE>Session.CreateConsumer(Destination destination)</CODE>
32: *<LI> <CODE>Session.CreateProducer(Destination destination)</CODE>
33: *
34: *</UL>
35: *
36: * <P>The actual length of time messages are held by a queue and the
37: * consequences of resource overflow are not defined by the JMS API.
38: *
39: * @see Session#createConsumer(Destination)
40: * @see Session#createProducer(Destination)
41: * @see Session#createQueue(String)
42: * @see QueueSession#createQueue(String)
43: */
44:
45: public interface Queue extends Destination {
46:
47: /** Gets the name of this queue.
48: *
49: * <P>Clients that depend upon the name are not portable.
50: *
51: * @return the queue name
52: *
53: * @exception JMSException if the JMS provider implementation of
54: * <CODE>Queue</CODE> fails to return the queue
55: * name due to some internal
56: * error.
57: */
58:
59: String getQueueName() throws JMSException;
60:
61: /** Returns a string representation of this object.
62: *
63: * @return the provider-specific identity values for this queue
64: */
65:
66: String toString();
67: }
|