[jboss-cvs] JBoss Messaging SVN: r1782 - in trunk/tests/src/org/jboss/test/messaging/jms/clustering: . base

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 13 02:05:11 EST 2006


Author: ovidiu.feodorov at jboss.com
Date: 2006-12-13 02:05:09 -0500 (Wed, 13 Dec 2006)
New Revision: 1782

Modified:
   trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java
Log:
Added extra failover tests.


Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java	2006-12-13 06:32:45 UTC (rev 1781)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java	2006-12-13 07:05:09 UTC (rev 1782)
@@ -7,7 +7,18 @@
 package org.jboss.test.messaging.jms.clustering;
 
 import org.jboss.test.messaging.jms.clustering.base.ClusteringTestBase;
+import org.jboss.test.messaging.tools.ServerManagement;
+import org.jboss.jms.client.JBossConnection;
+import org.jboss.jms.client.state.ConnectionState;
+import org.jboss.jms.client.delegate.DelegateSupport;
 
+import javax.jms.Connection;
+import javax.jms.Session;
+import javax.jms.MessageProducer;
+import javax.jms.DeliveryMode;
+import javax.jms.MessageConsumer;
+import javax.jms.TextMessage;
+
 /**
  * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
  * @version <tt>$Revision$</tt>
@@ -31,9 +42,63 @@
 
    // Public --------------------------------------------------------
 
-   public void simpleFailover() throws Exception
+   public void testSimpleFailover() throws Exception
    {
+      Connection conn = null;
 
+      try
+      {
+         conn = cf.createConnection();
+
+         // send a message
+
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer p = s.createProducer(queue[0]);
+         p.setDeliveryMode(DeliveryMode.PERSISTENT);
+         p.send(s.createTextMessage("blip"));
+
+         conn.close();
+
+         // create a connection to a node we'll kill soon
+
+         conn = cf.createConnection();
+         s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageConsumer c = s.createConsumer(queue[2]); // TODO What happens if I use queue[1]?
+         conn.start();
+
+         // make sure we're connecting to node 1
+
+         int nodeID =
+            ((ConnectionState)((DelegateSupport)((JBossConnection)conn).getDelegate()).getState()).
+               getServerID();
+
+         assertEquals(1, nodeID);
+
+         // kill node 1
+
+         ServerManagement.kill(1);
+
+         log.info("########");
+         log.info("######## KILLED NODE 1");
+         log.info("########");
+
+         // TODO - this shouldn't be necessary if we have the client valve in place         
+         log.info("Sleeping for 1 min");
+         Thread.sleep(60000);
+
+         // we must receive the message
+
+         TextMessage tm = (TextMessage)c.receive(1000);
+         assertEquals("blip", tm.getText());
+
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    // Package protected ---------------------------------------------
@@ -42,7 +107,11 @@
 
    protected void setUp() throws Exception
    {
+      nodeCount = 3;
+
       super.setUp();
+
+      log.debug("setup done");
    }
 
    protected void tearDown() throws Exception

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-13 06:32:45 UTC (rev 1781)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java	2006-12-13 07:05:09 UTC (rev 1782)
@@ -158,7 +158,6 @@
    private void drainQueues() throws Exception
    {
       Connection[] conn = new Connection[nodeCount];
-      int[] serverID = new int[nodeCount];
 
       try
       {
@@ -185,7 +184,10 @@
             do
             {
                msg = c.receive(1000);
-               log.info("Drained message " + msg + " on node " + i);
+               if (msg != null)
+               {
+                  log.info("Drained message " + msg + " on node " + i);
+               }
             }
             while (msg != null);
          }




More information about the jboss-cvs-commits mailing list