[jboss-cvs] JBoss Messaging SVN: r2145 - in branches/Branch_1_0_1_SP: src/main/org/jboss/jms/server/endpoint and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 2 11:46:20 EST 2007


Author: timfox
Date: 2007-02-02 11:46:20 -0500 (Fri, 02 Feb 2007)
New Revision: 2145

Modified:
   branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/ServerPeer.java
   branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
   branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java
   branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/DurableSubscriberTest.java
   branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java
Log:
Completed fix for http://jira.jboss.com/jira/browse/JBMESSAGING-791 and fixed failing tests



Modified: branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/ServerPeer.java
===================================================================
--- branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/ServerPeer.java	2007-02-02 15:34:42 UTC (rev 2144)
+++ branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/ServerPeer.java	2007-02-02 16:46:20 UTC (rev 2145)
@@ -24,9 +24,12 @@
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.net.URL;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import javax.jms.InvalidClientIDException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
@@ -39,6 +42,7 @@
 import org.jboss.jms.server.connectionfactory.ConnectionFactoryJNDIMapper;
 import org.jboss.jms.server.connectionmanager.SimpleConnectionManager;
 import org.jboss.jms.server.connectormanager.SimpleConnectorManager;
+import org.jboss.jms.server.endpoint.ServerConnectionEndpoint;
 import org.jboss.jms.server.endpoint.ServerConsumerEndpoint;
 import org.jboss.jms.server.plugin.contract.ChannelMapper;
 import org.jboss.jms.server.remoting.JMSServerInvocationHandler;
@@ -625,6 +629,28 @@
    {
       return queuedExecutorPool;
    }
+   
+   public void checkClientID(String clientID) throws Exception
+   {   
+      // verify the clientID is unique
+   
+      // JMS 1.1 Specifications, Section 4.3.2:
+      // "By definition, the client state identified by a client identifier can be ‘in use’ by
+      // only one client at a time. A JMS provider must prevent concurrently executing clients
+      // from using it."
+         
+      List conns = connectionManager.getActiveConnections();
+   
+      for(Iterator i = conns.iterator(); i.hasNext(); )
+      {
+         ServerConnectionEndpoint sce = (ServerConnectionEndpoint)i.next();
+         if (clientID != null && clientID.equals(sce.getClientID()))
+         {
+            throw new InvalidClientIDException(
+               "Client ID '" + clientID + "' already used by " + sce);
+         }
+      }
+   }
 
    public String toString()
    {

Modified: branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
===================================================================
--- branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java	2007-02-02 15:34:42 UTC (rev 2144)
+++ branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java	2007-02-02 16:46:20 UTC (rev 2145)
@@ -242,26 +242,8 @@
             throw new IllegalStateException("Cannot set clientID, already set as " + this.clientID);
          }
 
-         // verify the clientID is unique
+         serverPeer.checkClientID(clientID);
 
-         // JMS 1.1 Specifications, Section 4.3.2:
-         // "By definition, the client state identified by a client identifier can be ‘in use’ by
-         // only one client at a time. A JMS provider must prevent concurrently executing clients
-         // from using it."
-
-         ConnectionManager cm = serverPeer.getConnectionManager();
-         List conns = cm.getActiveConnections();
-
-         for(Iterator i = conns.iterator(); i.hasNext(); )
-         {
-            ServerConnectionEndpoint sce = (ServerConnectionEndpoint)i.next();
-            if (clientID != null && clientID.equals(sce.getClientID()))
-            {
-               throw new InvalidClientIDException(
-                  "Client ID '" + clientID + "' already used by " + sce);
-            }
-         }
-
          log.debug(this + "setting client ID to " + clientID);
 
          this.clientID = clientID;

Modified: branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java
===================================================================
--- branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java	2007-02-02 15:34:42 UTC (rev 2144)
+++ branches/Branch_1_0_1_SP/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java	2007-02-02 16:46:20 UTC (rev 2145)
@@ -117,6 +117,8 @@
             {
                clientID = preconfClientID;
             }
+            
+            serverPeer.checkClientID(clientID);
          }
    
          // create the corresponding "server-side" connection endpoint and register it with the

Modified: branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/DurableSubscriberTest.java
===================================================================
--- branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/DurableSubscriberTest.java	2007-02-02 15:34:42 UTC (rev 2144)
+++ branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/DurableSubscriberTest.java	2007-02-02 16:46:20 UTC (rev 2145)
@@ -147,6 +147,8 @@
 
       Message m = durable.receive(1000);
       assertNull(m);
+      
+      conn.close();
    }
 
    /**
@@ -193,6 +195,8 @@
 
       ServerManagement.undeployTopic("CompletelyNewTopic");
       ServerManagement.undeployTopic("CompletelyNewTopic2");
+      
+      conn.close();
    }
 
    /**
@@ -267,6 +271,8 @@
       assertNull(m);
       
       ServerManagement.undeployTopic("CompletelyNewTopic2");
+      
+      conn.close();
    }
 
    /**
@@ -318,6 +324,8 @@
       // the durable subscription is destroyed and re-created. "Message Two" stored by the previous
       // durable subscription is lost and (hopefully) garbage collected.
       assertNull(m);
+      
+      conn.close();
    }
 
    public void testDurableSubscriptionOnTemporaryTopic() throws Exception
@@ -337,6 +345,8 @@
       {
          // OK
       }
+      
+      conn.close();
    }
 
    /**
@@ -469,6 +479,8 @@
       {
          // OK
       }
+      
+      c.close();
    }
 
    //See JMS 1.1. spec sec 6.11

Modified: branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java
===================================================================
--- branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java	2007-02-02 15:34:42 UTC (rev 2144)
+++ branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java	2007-02-02 16:46:20 UTC (rev 2145)
@@ -2589,6 +2589,8 @@
 
          Message m = durable4.receive(1000);
          assertNull(m);
+         
+         conn3.close();
 
       }
       finally




More information about the jboss-cvs-commits mailing list