[jboss-cvs] JBoss Messaging SVN: r1796 - in trunk/tests/src/org/jboss/test/messaging: jms/clustering/base tools tools/jmx/rmi util

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 14 16:09:32 EST 2006


Author: ovidiu.feodorov at jboss.com
Date: 2006-12-14 16:09:29 -0500 (Thu, 14 Dec 2006)
New Revision: 1796

Modified:
   trunk/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java
   trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java
   trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java
   trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
   trunk/tests/src/org/jboss/test/messaging/util/ServerManagementTest.java
Log:
tweaks to get server resurrection working correctly

Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java	2006-12-14 20:56:41 UTC (rev 1795)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java	2006-12-14 21:09:29 UTC (rev 1796)
@@ -112,7 +112,7 @@
 
       for(int i = 0; i < nodeCount; i++)
       {
-         if (!ServerManagement.isKilled(i) && ServerManagement.getServer(i).isStarted())
+         if (ServerManagement.isStarted(i))
          {
             ServerManagement.log(ServerManagement.INFO, "Undeploying Server " + i, i);
             ServerManagement.undeployQueue("testDistributedQueue", i);

Modified: trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java	2006-12-14 20:56:41 UTC (rev 1795)
+++ trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java	2006-12-14 21:09:29 UTC (rev 1796)
@@ -95,6 +95,35 @@
       return !isLocal();
    }
 
+   public static boolean isClustered()
+   {
+      return "true".equals(System.getProperty("test.clustered"));
+   }
+
+   public static synchronized boolean isKilled(int index)
+   {
+      return killed[index];
+   }
+
+   public static synchronized boolean isStarted(int index)
+   {
+      Server s = servers[index];
+
+      if (s == null)
+      {
+         return false;
+      }
+
+      try
+      {
+         return s.isStarted();
+      }
+      catch(Exception e)
+      {
+         return false;
+      }
+   }
+
    public static Server getServer()
    {
       return getServer(0);
@@ -276,6 +305,8 @@
 
       Runtime.getRuntime().exec(sb.toString());
 
+      killed[index] = false;
+
       log.info("VM for Server " + index + " spawned");
    }
 
@@ -298,11 +329,6 @@
       killed[index] = true;
    }
    
-   public static synchronized boolean isKilled(int index)
-   {
-      return killed[index];
-   }
-
    public static void disconnect() throws Exception
    {
       if (isRemote())

Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java	2006-12-14 20:56:41 UTC (rev 1795)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java	2006-12-14 21:09:29 UTC (rev 1796)
@@ -833,6 +833,11 @@
 
    // Public --------------------------------------------------------
 
+   public int getServerIndex()
+   {
+      return serverIndex;
+   }
+
    // Package protected ---------------------------------------------
 
    ServiceContainer getServiceContainer()

Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java	2006-12-14 20:56:41 UTC (rev 1795)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java	2006-12-14 21:09:29 UTC (rev 1796)
@@ -453,8 +453,25 @@
       {
          log.info("shutting down the VM");
 
+
          try
          {
+            // unregister myself from the RMI registry
+
+            Registry registry = LocateRegistry.getRegistry(DEFAULT_REGISTRY_PORT);
+            registry.unbind(RMI_SERVER_PREFIX + server.getServerIndex());
+
+            log.info("unregistred from " + registry);
+
+
+         }
+         catch(Exception e)
+         {
+            log.error("Failed to unregister", e);
+         }
+
+         try
+         {
             Thread.sleep(250);
          }
          catch(Exception e)

Modified: trunk/tests/src/org/jboss/test/messaging/util/ServerManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/util/ServerManagementTest.java	2006-12-14 20:56:41 UTC (rev 1795)
+++ trunk/tests/src/org/jboss/test/messaging/util/ServerManagementTest.java	2006-12-14 21:09:29 UTC (rev 1796)
@@ -10,7 +10,6 @@
 import org.jboss.test.messaging.tools.ServerManagement;
 
 import javax.naming.InitialContext;
-import javax.naming.Context;
 import javax.management.ObjectName;
 
 /**
@@ -104,6 +103,39 @@
       }
    }
 
+   /**
+    * Needs to be run in clustered mode.
+    */
+   public void testRessurect() throws Exception
+   {
+
+      if (!ServerManagement.isClustered())
+      {
+         fail("This test must be run in clustered mode!");
+      }
+
+      ServerManagement.start("all", 1);
+
+      ServerManagement.kill(1);
+
+      // wait a bit for the server to die
+      
+      log.info("Sleeping for 10 seconds ...");
+
+      Thread.sleep(10000);
+
+      // resurrect the server
+
+      ServerManagement.spawn(1);
+      ServerManagement.start("all", 1);
+
+      Integer index = (Integer)ServerManagement.
+         getAttribute(1, new ObjectName("jboss.messaging:service=ServerPeer"), "serverPeerID");
+
+      assertEquals(1, index.intValue());
+   }
+
+
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------




More information about the jboss-cvs-commits mailing list