[jboss-cvs] JBoss Messaging SVN: r3699 - in trunk: src/main/org/jboss/messaging/core/remoting/impl and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 11 04:17:45 EST 2008


Author: jmesnil
Date: 2008-02-11 04:17:45 -0500 (Mon, 11 Feb 2008)
New Revision: 3699

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
   trunk/tests/build.xml
   trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java
Log:
* re-included all MINA integration tests
* in ConnectorRegistryImpl, keep local PacketDispatchers in a Map

Modified: trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java	2008-02-10 10:34:29 UTC (rev 3698)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java	2008-02-11 09:17:45 UTC (rev 3699)
@@ -41,7 +41,7 @@
     * @return <code>true</code> if this RemotingConfiguration was registered,
     *         <code>false</code> else
     */
-   boolean unregister();
+   boolean unregister(RemotingConfiguration remotingConfig);
 
    NIOConnector getConnector(RemotingConfiguration remotingConfig);
 

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java	2008-02-10 10:34:29 UTC (rev 3698)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java	2008-02-11 09:17:45 UTC (rev 3699)
@@ -6,7 +6,6 @@
  */
 package org.jboss.messaging.core.remoting.impl;
 
-import static org.jboss.messaging.core.remoting.TransportType.INVM;
 import static org.jboss.messaging.core.remoting.TransportType.TCP;
 
 import java.util.HashMap;
@@ -36,8 +35,7 @@
 
    // Attributes ----------------------------------------------------
 
-   private RemotingConfiguration localConfiguration = null;
-   private PacketDispatcher localDispatcher = null;
+   private Map<RemotingConfiguration, PacketDispatcher> localDispatchers = new HashMap<RemotingConfiguration, PacketDispatcher>();
    
    public Map<RemotingConfiguration, NIOConnectorHolder> connectors = new HashMap<RemotingConfiguration, NIOConnectorHolder>();
 
@@ -52,15 +50,14 @@
       assert remotingConfig != null;
       assert serverDispatcher != null;
       
-      PacketDispatcher previousDispatcher = localDispatcher;
-      
-      this.localConfiguration = remotingConfig;
-      this.localDispatcher = serverDispatcher;
-      
+      PacketDispatcher previousDispatcher = localDispatchers.get(remotingConfig);
+
+      localDispatchers.put(remotingConfig, serverDispatcher);
       if(log.isDebugEnabled())
       {
-         log.debug("registered " + localDispatcher + " for " + localConfiguration);
+         log.debug("registered " + remotingConfig + " for " + serverDispatcher);
       }
+      
       return (previousDispatcher == null);
    }
 
@@ -68,13 +65,10 @@
     * @return <code>true</code> if this RemotingConfiguration was registered,
     *         <code>false</code> else
     */  
-   public boolean unregister()
-   {
-       PacketDispatcher dispatcher = localDispatcher;
+   public boolean unregister(RemotingConfiguration remotingConf)
+   {      
+       PacketDispatcher dispatcher = localDispatchers.remove(remotingConf);
 
-       localConfiguration = null;
-       localDispatcher = null;
-       
        if(log.isDebugEnabled())
        {
           log.debug("unregistered " + dispatcher);
@@ -101,9 +95,10 @@
       }
 
       // check if the server is in the same vm than the client
-      if (remotingConfig.equals(localConfiguration))
+      if (localDispatchers.containsKey(remotingConfig))
       {
-         NIOConnector connector = new INVMConnector(localConfiguration.getHost(), localConfiguration
+         PacketDispatcher localDispatcher = localDispatchers.get(remotingConfig);
+         NIOConnector connector = new INVMConnector(remotingConfig.getHost(), remotingConfig
                .getPort(), localDispatcher);
 
          if (log.isDebugEnabled())
@@ -122,11 +117,6 @@
       if (transport == TCP)
       {
          connector = new MinaConnector(remotingConfig);
-      } else if (transport == INVM)
-      {
-         assert localDispatcher != null;
-         
-         connector = new INVMConnector(remotingConfig.getHost(), remotingConfig.getPort(), localDispatcher);
       }
 
       if (connector == null)

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java	2008-02-10 10:34:29 UTC (rev 3698)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java	2008-02-11 09:17:45 UTC (rev 3699)
@@ -151,7 +151,7 @@
          acceptor = null;
       }
       
-      REGISTRY.unregister();
+      REGISTRY.unregister(remotingConfig);
       
       started = false;
    }

Modified: trunk/tests/build.xml
===================================================================
--- trunk/tests/build.xml	2008-02-10 10:34:29 UTC (rev 3698)
+++ trunk/tests/build.xml	2008-02-11 09:17:45 UTC (rev 3699)
@@ -508,10 +508,6 @@
 	       <exclude name="**/jms/ClientExitTest.class"/>
 	       <exclude name="**/jms/ConnectionConsumerTest.class"/>
 	       
-    	   <exclude name="**/messaging/core/remoting/**/mina/**/MinaClientTest.class"/>	       
-	       <exclude name="**/messaging/core/remoting/**/mina/**/ClientKeepAliveTest.class"/>
- 	       <exclude name="**/messaging/core/remoting/**/mina/**/ServerKeepAliveTest.class"/>
-               
                <include name="**/messaging/util/**/${test-mask}.class"/>
                <exclude name="**/jms/MemLeakTest.class"/>
                <exclude name="**/jms/RemotingConnectionConfigurationTest.class"/>

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java	2008-02-10 10:34:29 UTC (rev 3698)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java	2008-02-11 09:17:45 UTC (rev 3699)
@@ -60,13 +60,27 @@
       assertTrue(registry.register(remotingConfig, dispatcher));
       assertFalse(registry.register(remotingConfig, dispatcher));
       
-      assertTrue(registry.unregister());
-      assertFalse(registry.unregister());
+      assertTrue(registry.unregister(remotingConfig));
+      assertFalse(registry.unregister(remotingConfig));
 
       assertTrue(registry.register(remotingConfig, dispatcher));
-      assertTrue(registry.unregister());
+      assertTrue(registry.unregister(remotingConfig));
    }
    
+   public void testRegistrationForTwoRemotingConfigurations() throws Exception
+   {
+      RemotingConfiguration remotingConfig_1 = new RemotingConfiguration(TCP, "localhost", PORT);
+      RemotingConfiguration remotingConfig_2 = new RemotingConfiguration(TCP, "localhost", PORT + 1);     
+      PacketDispatcher dispatcher_1 = new PacketDispatcher();      
+      PacketDispatcher dispatcher_2 = new PacketDispatcher();
+      
+      assertTrue(registry.register(remotingConfig_1, dispatcher_1));
+      assertTrue(registry.register(remotingConfig_2, dispatcher_2));
+      
+      assertTrue(registry.unregister(remotingConfig_1));
+      assertTrue(registry.unregister(remotingConfig_2));
+   }
+   
    public void testINVMConnectorFromTCPRemotingConfiguration() throws Exception
    {
       RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
@@ -78,7 +92,7 @@
       
       assertTrue(connector.getServerURI().startsWith(INVM.toString()));
       
-      assertTrue(registry.unregister());
+      assertTrue(registry.unregister(remotingConfig));
       
       assertNotNull(registry.removeConnector(remotingConfig));
    }




More information about the jboss-cvs-commits mailing list