KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exolab > jms > server > net > RemoteJmsAdminConnectionIfc


1 /**
2  * Redistribution and use of this software and associated documentation
3  * ("Software"), with or without modification, are permitted provided
4  * that the following conditions are met:
5  *
6  * 1. Redistributions of source code must retain copyright
7  * statements and notices. Redistributions must also contain a
8  * copy of this document.
9  *
10  * 2. Redistributions in binary form must reproduce the
11  * above copyright notice, this list of conditions and the
12  * following disclaimer in the documentation and/or other
13  * materials provided with the distribution.
14  *
15  * 3. The name "Exolab" must not be used to endorse or promote
16  * products derived from this Software without prior written
17  * permission of Exoffice Technologies. For written permission,
18  * please contact info@exolab.org.
19  *
20  * 4. Products derived from this Software may not be called "Exolab"
21  * nor may "Exolab" appear in their names without prior written
22  * permission of Exoffice Technologies. Exolab is a registered
23  * trademark of Exoffice Technologies.
24  *
25  * 5. Due credit should be given to the Exolab Project
26  * (http://www.exolab.org/).
27  *
28  * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
29  * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
30  * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
31  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
32  * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
33  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
34  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
37  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
39  * OF THE POSSIBILITY OF SUCH DAMAGE.
40  *
41  * Copyright 2000-2004 (C) Exoffice Technologies Inc. All Rights Reserved.
42  *
43  * $Id: RemoteJmsAdminConnectionIfc.java,v 1.1 2004/11/26 01:51:01 tanderson Exp $
44  */

45 package org.exolab.jms.server.net;
46
47 import java.rmi.RemoteException JavaDoc;
48 import java.util.Vector JavaDoc;
49
50
51 /**
52  * This specifies all the administration methods that can be used to control
53  * the JMS server through an RMI connector. The control logic is all at the
54  * org.exolab.jms.server package level
55  *
56  * @version $Revision: 1.1 $ $Date: 2004/11/26 01:51:01 $
57  * @author <a HREF="mailto:jima@comware.com.au">Jim Alateras</a>
58  */

59 public interface RemoteJmsAdminConnectionIfc {
60
61     /**
62      * Add a consumer for the specified topic
63      *
64      * @param topic name of the destination
65      * @param name name of the consumer
66      * @return boolean true if successful
67      * @throws RemoteException if the connection cannot be created
68      */

69     boolean addDurableConsumer(String JavaDoc topic, String JavaDoc name)
70         throws RemoteException JavaDoc;
71
72     /**
73      * Remove the consumer attached to the specified destination and with
74      * the passed in name
75      *
76      * @param name name of the consumer
77      * @return boolean true if successful
78      * @throws RemoteException if the connection cannot be created
79      */

80     boolean removeDurableConsumer(String JavaDoc name) throws RemoteException JavaDoc;
81
82     /**
83      * Check if a durable consumer, with the specified name, already exists
84      *
85      * @param name name of the consumer
86      * @return boolean true if it exists
87      * @throws RemoteException if the connection cannot be created
88      */

89     boolean durableConsumerExists(String JavaDoc name) throws RemoteException JavaDoc;
90
91     /**
92      * Return the collection of durable consumer names for a particular
93      * topic destination.
94      *
95      * @param destination the destination name
96      * @return Vector collection of strings
97      * @throws RemoteException if the connection cannot be created
98      */

99     Vector JavaDoc getDurableConsumers(String JavaDoc destination) throws RemoteException JavaDoc;
100
101     /**
102      * Deactivate an active persistent consumer.
103      *
104      * @param name name of the consumer
105      * @return boolean true if successful
106      * @throws RemoteException if the consumer cannot be unregistered
107      */

108     boolean unregisterConsumer(String JavaDoc name) throws RemoteException JavaDoc;
109
110     /**
111      * Check to see if the given consumer is currently connected to the
112      * OpenJMSServer. This is only valid when in online mode.
113      *
114      * @param name The name of the onsumer.
115      * @return boolean True if the consumer is connected.
116      * @throws RemoteException if the connection cannot be created
117      */

118     boolean isConnected(String JavaDoc name) throws RemoteException JavaDoc;
119
120     /**
121      * Add a specific destination with the specified name
122      *
123      * @param destination destination name
124      * @param queue whether it is queue or a topic
125      * @return boolean true if successful
126      * @throws RemoteException if the connection cannot be created
127      */

128     boolean addDestination(String JavaDoc destination, Boolean JavaDoc queue)
129         throws RemoteException JavaDoc;
130
131     /**
132      * Destroy the specified destination and all associated messsages and
133      * consumers. This is a very dangerous operation to execute while there
134      * are clients online
135      *
136      * @param name destination to destroy
137      * @return boolean if the destination got destroyed
138      * @throws RemoteException if the connection cannot be created
139      */

140     boolean removeDestination(String JavaDoc name) throws RemoteException JavaDoc;
141
142     /**
143      * Determine whether the destination with the specified name exists
144      *
145      * @param name - the destination to check
146      * @return boolean - if the destination exists
147      * @throws RemoteException if the connection cannot be created
148      */

149     boolean destinationExists(String JavaDoc name) throws RemoteException JavaDoc;
150
151     /**
152      * Return a list of all registered destinations.
153      *
154      * @return Vector collection of strings
155      * @throws RemoteException if the connection cannot be created
156      */

157     Vector JavaDoc getAllDestinations() throws RemoteException JavaDoc;
158
159     /**
160      * Return the number of outstanding messages for a particular destination.
161      *
162      * @param topic name of the topic
163      * @param name durable consumer name
164      * @return int message count
165      * @throws RemoteException if the connection cannot be created
166      */

167     int getDurableConsumerMessageCount(String JavaDoc topic, String JavaDoc name)
168         throws RemoteException JavaDoc;
169
170     /**
171      * Return the number of outstanding messages for a particular queue.
172      *
173      * @param queue the queue name
174      * @return int message count
175      * @throws RemoteException if the connection cannot be created
176      */

177     int getQueueMessageCount(String JavaDoc queue) throws RemoteException JavaDoc;
178
179     /**
180      * Purge all processed messages from the database
181      *
182      * @return int the number of purged messages
183      * @throws RemoteException if the connection cannot be created
184      */

185     int purgeMessages() throws RemoteException JavaDoc;
186
187     /**
188      * Terminate the JMS Server. If it is running as a standalone application
189      * then exit the application. It is running as an embedded application then
190      * just terminate the thread
191      * @throws RemoteException if the connection cannot be created
192      */

193     void stopServer() throws RemoteException JavaDoc;
194
195
196     /**
197      * Add a user with the specified name
198      *
199      * @param username the users name
200      * @param password the users password
201      * @return <code>true</code> if the user is added
202      * otherwise <code>false</code>
203      * @throws RemoteException if the connection cannot be created
204      */

205     boolean addUser(String JavaDoc username, String JavaDoc password) throws RemoteException JavaDoc;
206
207     /**
208      * Change password for the specified user
209      *
210      * @param username the users name
211      * @param password the users password
212      * @return <code>true</code> if the password is changed
213      * otherwise <code>false</code>
214      * @throws RemoteException if the connection cannot be created
215      */

216     boolean changePassword(String JavaDoc username, String JavaDoc password)
217         throws RemoteException JavaDoc;
218
219     /**
220      * Remove the specified user
221      *
222      * @param username the users name
223      * @return <code>true</code> if the user is removed
224      * otherwise <code>false</code>
225      * @throws RemoteException if the connection cannot be created
226      */

227     boolean removeUser(String JavaDoc username) throws RemoteException JavaDoc;
228
229     /**
230      * Return a list of all registered users.
231      *
232      * @return Vector of users
233      * @throws RemoteException if the connection cannot be created
234      */

235     Vector JavaDoc getAllUsers() throws RemoteException JavaDoc;
236
237 }
238
Popular Tags