001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.mq.il.rmi;
023:
024: import javax.jms.Destination;
025: import javax.jms.JMSException;
026: import javax.jms.Queue;
027: import javax.jms.TemporaryQueue;
028: import javax.jms.TemporaryTopic;
029: import javax.jms.Topic;
030:
031: import org.jboss.mq.AcknowledgementRequest;
032: import org.jboss.mq.ConnectionToken;
033: import org.jboss.mq.DurableSubscriptionID;
034: import org.jboss.mq.SpyDestination;
035: import org.jboss.mq.SpyMessage;
036: import org.jboss.mq.TransactionRequest;
037: import org.jboss.mq.il.Invoker;
038: import org.jboss.mq.il.ServerIL;
039:
040: /**
041: * The JVM implementation of the ServerIL object
042: *
043: * @author Hiram Chirino (Cojonudo14@hotmail.com)
044: * @author Norbert Lataille (Norbert.Lataille@m4x.org)
045: * @author <a href="pra@tim.se">Peter Antman</a>
046: * @version $Revision: 57198 $
047: * @created August 16, 2001
048: */
049: public class RMIServerIL extends java.rmi.server.UnicastRemoteObject
050: implements RMIServerILRemote {
051:
052: /** The serialVersionUID */
053: private static final long serialVersionUID = -7793119336262492395L;
054:
055: //The server implementation
056: private transient Invoker server;
057:
058: /**
059: * Constructor for the RMIServerIL object
060: *
061: * @param s Description of Parameter
062: * @exception java.rmi.RemoteException Description of Exception
063: */
064: public RMIServerIL(Invoker s) throws java.rmi.RemoteException {
065: server = s;
066: }
067:
068: /**
069: * Sets the ConnectionToken attribute of the RMIServerIL object
070: *
071: * @param newConnectionToken The new ConnectionToken value
072: */
073: public void setConnectionToken(ConnectionToken newConnectionToken) {
074: // We cannot try to cache the token since this IL is stateless
075: }
076:
077: /**
078: * Sets the Enabled attribute of the RMIServerIL object
079: *
080: * @param dc The new Enabled value
081: * @param enabled The new Enabled value
082: * @exception Exception Description of Exception
083: */
084: public void setEnabled(ConnectionToken dc, boolean enabled)
085: throws Exception {
086: server.setEnabled(dc, enabled);
087: }
088:
089: /**
090: * Gets the ID attribute of the RMIServerIL object
091: *
092: * @return The ID value
093: * @exception JMSException Description of Exception
094: */
095: public String getID() throws JMSException {
096: return server.getID();
097: }
098:
099: /**
100: * Gets the TemporaryQueue attribute of the RMIServerIL object
101: *
102: * @param dc Description of Parameter
103: * @return The TemporaryQueue value
104: * @exception JMSException Description of Exception
105: */
106: public TemporaryQueue getTemporaryQueue(ConnectionToken dc)
107: throws JMSException {
108: return server.getTemporaryQueue(dc);
109: }
110:
111: /**
112: * Gets the TemporaryTopic attribute of the RMIServerIL object
113: *
114: * @param dc Description of Parameter
115: * @return The TemporaryTopic value
116: * @exception JMSException Description of Exception
117: */
118: public TemporaryTopic getTemporaryTopic(ConnectionToken dc)
119: throws JMSException {
120: return server.getTemporaryTopic(dc);
121: }
122:
123: /**
124: * No need to clone because there are no instance variables tha can get
125: * clobbered. All Multiple connections can share the same JVMServerIL object
126: *
127: * @return Description of the Returned Value
128: */
129: public ServerIL cloneServerIL() {
130: return this ;
131: }
132:
133: /**
134: * Adds a feature to the Message attribute of the RMIServerIL object
135: *
136: * @param dc The feature to be added to the Message attribute
137: * @param val The feature to be added to the Message attribute
138: * @exception JMSException Description of Exception
139: */
140: public void addMessage(ConnectionToken dc, SpyMessage val)
141: throws JMSException {
142: server.addMessage(dc, val);
143: }
144:
145: /**
146: * #Description of the Method
147: *
148: * @param dc Description of Parameter
149: * @param dest Description of Parameter
150: * @return Description of the Returned Value
151: * @exception JMSException Description of Exception
152: */
153: public Topic createTopic(ConnectionToken dc, String dest)
154: throws JMSException {
155: return server.createTopic(dc, dest);
156: }
157:
158: /**
159: * #Description of the Method
160: *
161: * @param dc Description of Parameter
162: * @param dest Description of Parameter
163: * @return Description of the Returned Value
164: * @exception JMSException Description of Exception
165: */
166: public Queue createQueue(ConnectionToken dc, String dest)
167: throws JMSException {
168: return server.createQueue(dc, dest);
169: }
170:
171: /**
172: * #Description of the Method
173: *
174: * @param dc Description of Parameter
175: * @param dest Description of Parameter
176: * @exception JMSException Description of Exception
177: */
178: public void deleteTemporaryDestination(ConnectionToken dc,
179: SpyDestination dest) throws JMSException {
180: server.deleteTemporaryDestination(dc, dest);
181: }
182:
183: /**
184: * #Description of the Method
185: *
186: * @param ID Description of Parameter
187: * @exception JMSException Description of Exception
188: */
189: public void checkID(String ID) throws JMSException {
190: server.checkID(ID);
191: }
192:
193: /**
194: * #Description of the Method
195: *
196: * @param dc Description of Parameter
197: * @exception JMSException Description of Exception
198: */
199: public void connectionClosing(ConnectionToken dc)
200: throws JMSException {
201: server.connectionClosing(dc);
202: }
203:
204: /**
205: * #Description of the Method
206: *
207: * @param dc Description of Parameter
208: * @param item Description of Parameter
209: * @exception Exception Description of Exception
210: * @exception java.rmi.RemoteException Description of Exception
211: */
212: public void acknowledge(ConnectionToken dc,
213: AcknowledgementRequest item) throws Exception,
214: java.rmi.RemoteException {
215: server.acknowledge(dc, item);
216: }
217:
218: /**
219: * #Description of the Method
220: *
221: * @param dc Description of Parameter
222: * @param dest Description of Parameter
223: * @param selector Description of Parameter
224: * @return Description of the Returned Value
225: * @exception Exception Description of Exception
226: */
227: public SpyMessage[] browse(ConnectionToken dc, Destination dest,
228: String selector) throws Exception {
229: return server.browse(dc, dest, selector);
230: }
231:
232: /**
233: * #Description of the Method
234: *
235: * @param dc Description of Parameter
236: * @param subscriberId Description of Parameter
237: * @param wait Description of Parameter
238: * @return Description of the Returned Value
239: * @exception Exception Description of Exception
240: */
241: public SpyMessage receive(ConnectionToken dc, int subscriberId,
242: long wait) throws Exception {
243: return server.receive(dc, subscriberId, wait);
244: }
245:
246: /**
247: * #Description of the Method
248: *
249: * @param dc Description of Parameter
250: * @param subscriptionId Description of Parameter
251: * @exception Exception Description of Exception
252: */
253: public void unsubscribe(ConnectionToken dc, int subscriptionId)
254: throws Exception {
255: server.unsubscribe(dc, subscriptionId);
256: }
257:
258: /**
259: * #Description of the Method
260: *
261: * @param id Description of Parameter
262: * @exception Exception Description of Exception
263: */
264: public void destroySubscription(ConnectionToken dc,
265: DurableSubscriptionID id) throws Exception {
266: server.destroySubscription(dc, id);
267: }
268:
269: /**
270: * #Description of the Method
271: *
272: * @param userName Description of Parameter
273: * @param password Description of Parameter
274: * @return Description of the Returned Value
275: * @exception JMSException Description of Exception
276: */
277: public String checkUser(String userName, String password)
278: throws JMSException {
279: return server.checkUser(userName, password);
280: }
281:
282: public String authenticate(String userName, String password)
283: throws JMSException {
284: return server.authenticate(userName, password);
285: }
286:
287: /**
288: * #Description of the Method
289: *
290: * @param dc Description of Parameter
291: * @param s Description of Parameter
292: * @exception Exception Description of Exception
293: */
294: public void subscribe(ConnectionToken dc,
295: org.jboss.mq.Subscription s) throws Exception {
296: server.subscribe(dc, s);
297: }
298:
299: /**
300: * #Description of the Method
301: *
302: * @param dc Description of Parameter
303: * @param t Description of Parameter
304: * @exception JMSException Description of Exception
305: */
306: public void transact(org.jboss.mq.ConnectionToken dc,
307: TransactionRequest t) throws JMSException {
308: server.transact(dc, t);
309: }
310:
311: /**
312: * #Description of the Method
313: *
314: * @param dc Description of Parameter
315: * @param clientTime Description of Parameter
316: * @exception JMSException Description of Exception
317: */
318: public void ping(org.jboss.mq.ConnectionToken dc, long clientTime)
319: throws JMSException {
320: server.ping(dc, clientTime);
321: }
322: }
|