[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