Good work... Could you apply the same chanages to the UIL also?? Since they are almost identical, it would be nice if they were kept in synch.
Regards, Hiram >From: Brian Weaver <[EMAIL PROTECTED]> >To: [EMAIL PROTECTED] >Subject: [JBoss-dev] CVS update: jbossmq/src/main/org/jboss/mq/il/oil >OILClientIL.java OILClientILService.java OILServerIL.java >OILServerILFactory.java OILServerILService.java >Date: Thu, 10 Jan 2002 05:38:18 -0800 > > User: weave > Date: 02/01/10 05:38:17 > > Modified: src/main/org/jboss/mq/il/oil OILClientIL.java > OILClientILService.java OILServerIL.java > OILServerILFactory.java OILServerILService.java > Log: > Changed the constants in the file to be all upper case words, without > having the 'm_' prepended to each constant. > > Added some fixes to make the code behave better under linux, which has > problems with non-preemptable I/O. See the java bug database and search > on 'J2SE_PREEMPTCLOSE' for more information on the linux problem. > > Synchronized the close() method of the OILClientIL.java file to prevent > concurrent access in the checkSocket() method which was not > synchronized. > > Also, changed many of the 'protected' and 'package' level variables and > method to private. This allows JIT compilers to 'trivially' optimize > those sections of code since access is at most restrictive levels. This > did not cause any compile or runtime issues with the testsuite since > none of the members were referenced from other classes. > > Finally, marked some of the classes final to allow JIT compilers >additional > hints for optimizations. Since the classes are not extended in JBoss > this does not appear to be a problem [I could be wrong, it wouldn't be > the first time! If so then I'm sure someone will joyfully revert my > changes and inform me of my erronous assumptions. Cheers!] > > Revision Changes Path > 1.5 +34 -18 >jbossmq/src/main/org/jboss/mq/il/oil/OILClientIL.java > > Index: OILClientIL.java > =================================================================== > RCS file: >/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il/oil/OILClientIL.java,v > retrieving revision 1.4 > retrieving revision 1.5 > diff -u -r1.4 -r1.5 > --- OILClientIL.java 2001/11/26 06:33:12 1.4 > +++ OILClientIL.java 2002/01/10 13:38:17 1.5 > @@ -31,21 +31,26 @@ > * > * @author Norbert Lataille ([EMAIL PROTECTED]) > * @author Hiram Chirino ([EMAIL PROTECTED]) > - * @version $Revision: 1.4 $ > + * @version $Revision: 1.5 $ > * @created August 16, 2001 > */ > -public class OILClientIL implements ClientIL, java.io.Serializable > +public final class OILClientIL > + implements ClientIL, > + java.io.Serializable > { > - static Logger log = Logger.getLogger(OILClientIL.class); > - final static int m_close = 2; > - final static int m_deleteTemporaryDestination = 1; > - final static int m_receive = 3; > - final static int m_pong = 4; > + private final static int DELETE_TEMPORARY_DESTINATION = 1; > + private final static int CLOSE = 2; > + private final static int RECEIVE = 3; > + private final static int PONG = 4; > > + private final static int EXCEPTION_CODE = 1; > + > + private final static Logger log = >Logger.getLogger(OILClientIL.class); > + > private InetAddress addr; > + private int port; > private transient ObjectInputStream in; > private transient ObjectOutputStream out; > - private int port; > private transient Socket socket; > > OILClientIL(InetAddress addr, int port) > @@ -59,12 +64,23 @@ > * > * @exception Exception Description of Exception > */ > - public void close() > + public synchronized void close() > throws Exception > { > checkSocket(); > - out.writeByte(m_close); > + out.writeByte(CLOSE); > waitAnswer(); > + try > + { > + socket.close(); > + in.close(); > + out.close(); > + } > + catch(Exception e) > + { > + if(log.isDebugEnabled()) > + log.debug("Error closing the socket connection", e); > + } > } > > /** > @@ -77,7 +93,7 @@ > throws Exception > { > checkSocket(); > - out.writeByte(m_deleteTemporaryDestination); > + out.writeByte(DELETE_TEMPORARY_DESTINATION); > out.writeObject(dest); > waitAnswer(); > } > @@ -92,7 +108,7 @@ > throws Exception > { > checkSocket(); > - out.writeByte(m_pong); > + out.writeByte(PONG); > out.writeLong(serverTime); > waitAnswer(); > } > @@ -112,7 +128,7 @@ > checkSocket(); > if( trace ) > log.trace("Writing request"); > - out.writeByte(m_receive); > + out.writeByte(RECEIVE); > out.writeInt(messages.length); > for (int i = 0; i < messages.length; ++i) > { > @@ -130,8 +146,8 @@ > * > * @exception Exception Description of Exception > */ > - protected void checkSocket() > - throws Exception > + private void checkSocket() > + throws RemoteException > { > if (socket == null) > { > @@ -144,7 +160,7 @@ > * > * @exception RemoteException Description of Exception > */ > - protected void createConnection() > + private void createConnection() > throws RemoteException > { > try > @@ -167,7 +183,7 @@ > * > * @exception Exception Description of Exception > */ > - protected void waitAnswer() > + private void waitAnswer() > throws Exception > { > Exception throwException = null; > @@ -178,7 +194,7 @@ > int val = in.readByte(); > switch (val) > { > - case 1: > + case EXCEPTION_CODE: > Exception e = (Exception)in.readObject(); > throwException = new RemoteException("", e); > break; > > > > 1.6 +62 -47 >jbossmq/src/main/org/jboss/mq/il/oil/OILClientILService.java > > Index: OILClientILService.java > =================================================================== > RCS file: >/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il/oil/OILClientILService.java,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -u -r1.5 -r1.6 > --- OILClientILService.java 2001/12/14 00:22:43 1.5 > +++ OILClientILService.java 2002/01/10 13:38:17 1.6 > @@ -30,27 +30,35 @@ > * > * @author Norbert Lataille ([EMAIL PROTECTED]) > * @author Hiram Chirino ([EMAIL PROTECTED]) > - * @version $Revision: 1.5 $ > + * @version $Revision: 1.6 $ > * @created August 16, 2001 > */ > -public class OILClientILService implements Runnable, >org.jboss.mq.il.ClientILService > +public final class OILClientILService > + implements java.lang.Runnable, > + org.jboss.mq.il.ClientILService > { > + private final static org.jboss.logging.Logger cat = >org.jboss.logging.Logger.getLogger(OILClientILService.class); > > - static org.jboss.logging.Logger cat = >org.jboss.logging.Logger.getLogger(OILClientILService.class); > - // Attributes ---------------------------------------------------- > - final static int m_close = 2; > - final static int m_deleteTemporaryDestination = 1; > - final static int m_receive = 3; > - final static int m_pong = 4; > + private final static int DELETE_TEMPORARY_DESTINATION = 1; > + private final static int CLOSE = 2; > + private final static int RECEIVE = 3; > + private final static int PONG = 4; > + > //the client IL > - OILClientIL clientIL; > + private OILClientIL clientIL; > + > //The thread that is doing the Socket reading work > - Thread worker; > - Socket socket = null; > + private Thread worker; > + > + // the connected client > + private Socket socket = null; > + > //A link on my connection > private Connection connection; > + > //Should this service be running ? > private boolean running; > + > //The server socket we listen for a connection on > private ServerSocket serverSocket; > > @@ -95,10 +103,12 @@ > { > if( cat.isDebugEnabled() ) > cat.debug("Waiting for the server to connect to me"); > + > // We may close() before we get a connection so we need to > // periodicaly check to see if we were !running. > + // > serverSocket.setSoTimeout(1000); > - while (socket == null) > + while (running && socket == null) > { > try > { > @@ -106,25 +116,31 @@ > } > catch (java.io.InterruptedIOException e) > { > + // do nothing, running flag will be checked > + continue; > } > catch (IOException e) > { > if (running) > - { > connection.asynchFailure("Error accepting connection >from server in OILClientILService.", e); > - } > - return; > + return; // finally block will clean up! > } > - if (!running) > - { > - return; > - } > } > - socket.setSoTimeout(0); > - out = new ObjectOutputStream(new >BufferedOutputStream(socket.getOutputStream())); > - out.flush(); > - in = new ObjectInputStream(new >BufferedInputStream(socket.getInputStream())); > > + if(running) > + { > + socket.setSoTimeout(0); > + out = new ObjectOutputStream(new >BufferedOutputStream(socket.getOutputStream())); > + out.flush(); > + in = new ObjectInputStream(new >BufferedInputStream(socket.getInputStream())); > + } > + else > + { > + // not running so exit > + // let the finally block do the clean up > + // > + return; > + } > } > catch (IOException e) > { > @@ -140,12 +156,15 @@ > } > catch (IOException e) > { > + if(cat.isDebugEnabled()) > + cat.debug("run: an error occured closing the server >socket", e); > } > } > > + // now process request from the client. > + // > while (running) > { > - > try > { > if( cat.isTraceEnabled() ) > @@ -166,7 +185,7 @@ > > switch (code) > { > - case m_receive: > + case RECEIVE: > int numReceives = in.readInt(); > org.jboss.mq.ReceiveRequest[] messages = new >org.jboss.mq.ReceiveRequest[numReceives]; > for (int i = 0; i < numReceives; ++i) > @@ -176,15 +195,19 @@ > } > connection.asynchDeliver(messages); > break; > - case m_deleteTemporaryDestination: > + > + case DELETE_TEMPORARY_DESTINATION: > >connection.asynchDeleteTemporaryDestination((SpyDestination)in.readObject()); > break; > - case m_close: > + > + case CLOSE: > connection.asynchClose(); > break; > - case m_pong: > + > + case PONG: > connection.asynchPong(in.readLong()); > break; > + > default: > throw new RemoteException("Bad method code !"); > } > @@ -199,14 +222,15 @@ > catch (IOException e) > { > connection.asynchFailure("Connection failure", e); > - return; > + break; // exit the loop > } > - > } > catch (Exception e) > { > if (!running) > { > + // if not running then don't bother to log an error > + // > break; > } > > @@ -221,30 +245,29 @@ > catch (IOException e2) > { > connection.asynchFailure("Connection failure", e2); > - return; > + break; > } > - > } > + } // end while > > - } > - > + // exited loop, so clean up the conection > + // > try > { > cat.debug("Closing receiver connections."); > out.close(); > in.close(); > - if (socket != null) > - { > - ; > - } > socket.close(); > socket = null; > } > catch (IOException e) > { > connection.asynchFailure("Connection failure", e); > - return; > } > + > + // ensure the flag is set correctly > + // > + running = false; > } > > /** > @@ -271,13 +294,5 @@ > { > running = false; > worker.interrupt(); > - if (serverSocket != null) > - { > - serverSocket.close(); > - } > - if (socket != null) > - { > - socket.close(); > - } > } > } > > > > 1.5 +54 -51 >jbossmq/src/main/org/jboss/mq/il/oil/OILServerIL.java > > Index: OILServerIL.java > =================================================================== > RCS file: >/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il/oil/OILServerIL.java,v > retrieving revision 1.4 > retrieving revision 1.5 > diff -u -r1.4 -r1.5 > --- OILServerIL.java 2001/09/27 04:09:36 1.4 > +++ OILServerIL.java 2002/01/10 13:38:17 1.5 > @@ -37,55 +37,58 @@ > * > * @author Hiram Chirino ([EMAIL PROTECTED]) > * @author Norbert Lataille ([EMAIL PROTECTED]) > - * @version $Revision: 1.4 $ > + * @version $Revision: 1.5 $ > * @created August 16, 2001 > */ > -public class OILServerIL implements java.io.Serializable, Cloneable, >org.jboss.mq.il.ServerIL > +public final class OILServerIL > + implements java.io.Serializable, > + java.lang.Cloneable, > + org.jboss.mq.il.ServerIL > { > - final static int m_acknowledge = 1; > - final static int m_addMessage = 2; > - final static int m_browse = 3; > - final static int m_checkID = 4; > - final static int m_connectionClosing = 5; > - final static int m_createQueue = 6; > - final static int m_createTopic = 7; > - final static int m_deleteTemporaryDestination = 8; > - final static int m_getID = 9; > - final static int m_getTemporaryQueue = 10; > - final static int m_getTemporaryTopic = 11; > - final static int m_receive = 13; > - final static int m_setEnabled = 14; > - final static int m_setSpyDistributedConnection = 15; > - final static int m_subscribe = 16; > - final static int m_transact = 17; > - final static int m_unsubscribe = 18; > - final static int m_destroySubscription = 19; > - final static int m_checkUser = 20; > - final static int m_ping = 21; > + private final static int ACKNOWLEDGE = 1; > + private final static int ADDMESSAGE = 2; > + private final static int BROWSE = 3; > + private final static int CHECKID = 4; > + private final static int CONNECTIONCLOSING = 5; > + private final static int CREATEQUEUE = 6; > + private final static int CREATETOPIC = 7; > + private final static int DELETETEMPORARYDESTINATION = 8; > + private final static int GETID = 9; > + private final static int GETTEMPORARYQUEUE = 10; > + private final static int GETTEMPORARYTOPIC = 11; > + private final static int RECEIVE = 13; > + private final static int SETENABLED = 14; > + private final static int SETSPYDISTRIBUTEDCONNECTION = 15; > + private final static int SUBSCRIBE = 16; > + private final static int TRANSACT = 17; > + private final static int UNSUBSCRIBE = 18; > + private final static int DESTROYSUBSCRIPTION = 19; > + private final static int CHECKUSER = 20; > + private final static int PING = 21; > > /** > * Description of the Field > */ > - protected InetAddress addr; > + private InetAddress addr; > /** > * Description of the Field > */ > - protected transient ObjectInputStream in; > + private transient ObjectInputStream in; > > /** > * Description of the Field > */ > - protected transient ObjectOutputStream out; > + private transient ObjectOutputStream out; > //Remote stuff > /** > * Description of the Field > */ > - protected int port; > + private int port; > > /** > * Description of the Field > */ > - protected transient Socket socket; > + private transient Socket socket; > > /** > * Constructor for the OILServerIL object > @@ -109,7 +112,7 @@ > throws Exception > { > checkConnection(); > - out.writeByte(m_setSpyDistributedConnection); > + out.writeByte(SETSPYDISTRIBUTEDCONNECTION); > out.writeObject(dest); > waitAnswer(); > } > @@ -126,7 +129,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_setEnabled); > + out.writeByte(SETENABLED); > out.writeBoolean(enabled); > waitAnswer(); > } > @@ -141,7 +144,7 @@ > throws Exception > { > checkConnection(); > - out.writeByte(m_getID); > + out.writeByte(GETID); > return (String)waitAnswer(); > } > > @@ -157,7 +160,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_getTemporaryQueue); > + out.writeByte(GETTEMPORARYQUEUE); > return (TemporaryQueue)waitAnswer(); > } > > @@ -173,7 +176,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_getTemporaryTopic); > + out.writeByte(GETTEMPORARYTOPIC); > return (TemporaryTopic)waitAnswer(); > } > > @@ -189,7 +192,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_acknowledge); > + out.writeByte(ACKNOWLEDGE); > item.writeExternal(out); > waitAnswer(); > } > @@ -205,7 +208,7 @@ > throws Exception > { > checkConnection(); > - out.writeByte(m_addMessage); > + out.writeByte(ADDMESSAGE); > SpyMessage.writeMessage(val, out); > waitAnswer(); > } > @@ -224,7 +227,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_browse); > + out.writeByte(BROWSE); > out.writeObject(dest); > out.writeObject(selector); > return (SpyMessage[])waitAnswer(); > @@ -241,7 +244,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_checkID); > + out.writeByte(CHECKID); > out.writeObject(ID); > waitAnswer(); > } > @@ -259,7 +262,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_checkUser); > + out.writeByte(CHECKUSER); > out.writeObject(userName); > out.writeObject(password); > return (String)waitAnswer(); > @@ -301,7 +304,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_connectionClosing); > + out.writeByte(CONNECTIONCLOSING); > waitAnswer(); > destroyConnection(); > } > @@ -319,7 +322,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_createQueue); > + out.writeByte(CREATEQUEUE); > out.writeObject(dest); > return (Queue)waitAnswer(); > } > @@ -337,7 +340,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_createTopic); > + out.writeByte(CREATETOPIC); > out.writeObject(dest); > return (Topic)waitAnswer(); > } > @@ -354,7 +357,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_deleteTemporaryDestination); > + out.writeByte(DELETETEMPORARYDESTINATION); > out.writeObject(dest); > waitAnswer(); > } > @@ -370,7 +373,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_destroySubscription); > + out.writeByte(DESTROYSUBSCRIPTION); > out.writeObject(id); > waitAnswer(); > } > @@ -386,7 +389,7 @@ > throws Exception > { > checkConnection(); > - out.writeByte(m_ping); > + out.writeByte(PING); > out.writeLong(clientTime); > waitAnswer(); > } > @@ -404,7 +407,7 @@ > throws Exception, Exception > { > checkConnection(); > - out.writeByte(m_receive); > + out.writeByte(RECEIVE); > out.writeInt(subscriberId); > out.writeLong(wait); > return (SpyMessage)waitAnswer(); > @@ -422,7 +425,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_subscribe); > + out.writeByte(SUBSCRIBE); > out.writeObject(s); > waitAnswer(); > } > @@ -439,7 +442,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_transact); > + out.writeByte(TRANSACT); > t.writeExternal(out); > waitAnswer(); > } > @@ -456,7 +459,7 @@ > throws JMSException, Exception > { > checkConnection(); > - out.writeByte(m_unsubscribe); > + out.writeByte(UNSUBSCRIBE); > out.writeInt(subscriptionId); > waitAnswer(); > } > @@ -466,7 +469,7 @@ > * > * @exception Exception Description of Exception > */ > - protected void checkConnection() > + private void checkConnection() > throws Exception > { > if (socket == null) > @@ -480,7 +483,7 @@ > * > * @exception Exception Description of Exception > */ > - protected void createConnection() > + private void createConnection() > throws Exception > { > socket = new Socket(addr, port); > @@ -494,7 +497,7 @@ > * > * @exception Exception Description of Exception > */ > - protected void destroyConnection() > + private void destroyConnection() > throws Exception > { > out.close(); > @@ -508,7 +511,7 @@ > * @return Description of the Returned Value > * @exception Exception Description of Exception > */ > - protected Object waitAnswer() > + private Object waitAnswer() > throws Exception > { > out.reset(); > > > > 1.2 +11 -5 >jbossmq/src/main/org/jboss/mq/il/oil/OILServerILFactory.java > > Index: OILServerILFactory.java > =================================================================== > RCS file: >/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il/oil/OILServerILFactory.java,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- OILServerILFactory.java 2001/10/21 05:38:13 1.1 > +++ OILServerILFactory.java 2002/01/10 13:38:17 1.2 > @@ -16,9 +16,11 @@ > * Factory class to produce OILServerIL objects. > * > * @author <a href="mailto:[EMAIL PROTECTED]">Hiram >Chirino</a> > - * @version $Revision: 1.1 $ > + * @version $Revision: 1.2 $ > */ > -public class OILServerILFactory implements ServerILFactory { > +public final class OILServerILFactory > + implements ServerILFactory > +{ > > final public static String SERVER_IL_FACTORY = >OILServerILFactory.class.getName(); > final public static String CLIENT_IL_SERVICE = >OILClientILService.class.getName(); > @@ -30,7 +32,9 @@ > /** > * @see ServerILFactory#init(Properties) > */ > - public void init(Properties props) throws Exception { > + public void init(Properties props) > + throws Exception > + { > > String t = props.getProperty(OIL_ADDRESS_KEY); > if (t == null) > @@ -49,8 +53,10 @@ > /** > * @see ServerILFactory#getServerIL() > */ > - public ServerIL getServerIL() throws Exception { > + public ServerIL getServerIL() > + throws Exception > + { > return serverIL; > } > > -} > \ No newline at end of file > +} > > > > 1.15 +62 -50 >jbossmq/src/main/org/jboss/mq/il/oil/OILServerILService.java > > Index: OILServerILService.java > =================================================================== > RCS file: >/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il/oil/OILServerILService.java,v > retrieving revision 1.14 > retrieving revision 1.15 > diff -u -r1.14 -r1.15 > --- OILServerILService.java 2001/11/10 21:38:04 1.14 > +++ OILServerILService.java 2002/01/10 13:38:17 1.15 > @@ -48,48 +48,51 @@ > * Implements the ServerILJMXService which is used to manage the JVM >IL. > * > * @author Hiram Chirino ([EMAIL PROTECTED]) > - * @version $Revision: 1.14 $ > + * @version $Revision: 1.15 $ > */ > -public class OILServerILService extends >org.jboss.mq.il.ServerILJMXService implements Runnable, >OILServerILServiceMBean > +public final class OILServerILService > + extends org.jboss.mq.il.ServerILJMXService > + implements java.lang.Runnable, > + OILServerILServiceMBean > { > //The server implementation > /** > * Description of the Field > */ > - protected static JMSServer server; > + private static JMSServer server; > > - final static int m_acknowledge = 1; > - final static int m_addMessage = 2; > - final static int m_browse = 3; > - final static int m_checkID = 4; > - final static int m_connectionClosing = 5; > - final static int m_createQueue = 6; > - final static int m_createTopic = 7; > - final static int m_deleteTemporaryDestination = 8; > - final static int m_getID = 9; > - final static int m_getTemporaryQueue = 10; > - final static int m_getTemporaryTopic = 11; > - final static int m_receive = 13; > - final static int m_setEnabled = 14; > - final static int m_setSpyDistributedConnection = 15; > - final static int m_subscribe = 16; > - final static int m_transact = 17; > - final static int m_unsubscribe = 18; > - final static int m_destroySubscription = 19; > - final static int m_checkUser = 20; > - final static int m_ping = 21; > + private final static int ACKNOWLEDGE = 1; > + private final static int ADDMESSAGE = 2; > + private final static int BROWSE = 3; > + private final static int CHECKID = 4; > + private final static int CONNECTIONCLOSING = 5; > + private final static int CREATEQUEUE = 6; > + private final static int CREATETOPIC = 7; > + private final static int DELETETEMPORARYDESTINATION = 8; > + private final static int GETID = 9; > + private final static int GETTEMPORARYQUEUE = 10; > + private final static int GETTEMPORARYTOPIC = 11; > + private final static int RECEIVE = 13; > + private final static int SETENABLED = 14; > + private final static int SETSPYDISTRIBUTEDCONNECTION = 15; > + private final static int SUBSCRIBE = 16; > + private final static int TRANSACT = 17; > + private final static int UNSUBSCRIBE = 18; > + private final static int DESTROYSUBSCRIPTION = 19; > + private final static int CHECKUSER = 20; > + private final static int PING = 21; > > - final static int SO_TIMEOUT = 5000; > + private final static int SO_TIMEOUT = 5000; > /** > * Description of the Field > */ > - protected ServerSocket serverSocket; > - OILServerIL serverIL; > + private ServerSocket serverSocket; > + private OILServerIL serverIL; > > - boolean running; > - int serverBindPort = 0; > - InetAddress bindAddress = null; > - Thread worker; > + private volatile boolean running; > + private int serverBindPort = 0; > + private InetAddress bindAddress = null; > + private Thread worker; > > /** > * Used to construct the GenericConnectionFactory >(bindJNDIReferences() > @@ -150,11 +153,20 @@ > } > catch (java.io.InterruptedIOException e) > { > + // do nothing! > } > } > > if (!running) > { > + try > + { > + serverSocket.close(); > + } > + catch(Exception e) > + { > + log.debug("error closing server socket", e); > + } > return; > } > > @@ -209,70 +221,70 @@ > > switch (code) > { > - case m_setSpyDistributedConnection: > + case SETSPYDISTRIBUTEDCONNECTION: > connectionToken = (ConnectionToken)in.readObject(); > log.debug("The OILClientIL Connection is set up"); > break; > - case m_acknowledge: > + case ACKNOWLEDGE: > AcknowledgementRequest ack = new >AcknowledgementRequest(); > ack.readExternal(in); > server.acknowledge(connectionToken, ack); > break; > - case m_addMessage: > + case ADDMESSAGE: > server.addMessage(connectionToken, >SpyMessage.readMessage(in)); > break; > - case m_browse: > + case BROWSE: > result = server.browse(connectionToken, >(Destination)in.readObject(), (String)in.readObject()); > break; > - case m_checkID: > + case CHECKID: > server.checkID((String)in.readObject()); > break; > - case m_connectionClosing: > + case CONNECTIONCLOSING: > server.connectionClosing(connectionToken); > closed = true; > break; > - case m_createQueue: > + case CREATEQUEUE: > result = (Queue)server.createQueue(connectionToken, >(String)in.readObject()); > break; > - case m_createTopic: > + case CREATETOPIC: > result = (Topic)server.createTopic(connectionToken, >(String)in.readObject()); > break; > - case m_deleteTemporaryDestination: > + case DELETETEMPORARYDESTINATION: > server.deleteTemporaryDestination(connectionToken, >(SpyDestination)in.readObject()); > break; > - case m_getID: > + case GETID: > result = server.getID(); > break; > - case m_getTemporaryQueue: > + case GETTEMPORARYQUEUE: > result = >(TemporaryQueue)server.getTemporaryQueue(connectionToken); > break; > - case m_getTemporaryTopic: > + case GETTEMPORARYTOPIC: > result = >(TemporaryTopic)server.getTemporaryTopic(connectionToken); > break; > - case m_receive: > + case RECEIVE: > result = server.receive(connectionToken, >in.readInt(), in.readLong()); > break; > - case m_setEnabled: > + case SETENABLED: > server.setEnabled(connectionToken, in.readBoolean()); > break; > - case m_subscribe: > + case SUBSCRIBE: > server.subscribe(connectionToken, >(Subscription)in.readObject()); > break; > - case m_transact: > + case TRANSACT: > TransactionRequest trans = new TransactionRequest(); > trans.readExternal(in); > server.transact(connectionToken, trans); > break; > - case m_unsubscribe: > + case UNSUBSCRIBE: > server.unsubscribe(connectionToken, in.readInt()); > break; > - case m_destroySubscription: > + case DESTROYSUBSCRIPTION: > >server.destroySubscription((DurableSubcriptionID)in.readObject()); > break; > - case m_checkUser: > + case CHECKUSER: > result = server.checkUser((String)in.readObject(), >(String)in.readObject()); > break; > - case m_ping: > + case PING: > server.ping(connectionToken, in.readLong()); > break; > default: > > > > >_______________________________________________ >Jboss-development mailing list >[EMAIL PROTECTED] >https://lists.sourceforge.net/lists/listinfo/jboss-development _________________________________________________________________ Chat with friends online, try MSN Messenger: http://messenger.msn.com _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development