[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