[jboss-cvs] JBoss Messaging SVN: r1728 - in branches/Branch_Client_Failover_Experiment/tests: . src/org/jboss/test/messaging/jms/clustering src/org/jboss/test/messaging/jms/clustering/base src/org/jboss/test/messaging/tools/jmx/rmi
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Dec 8 09:07:09 EST 2006
Author: timfox
Date: 2006-12-08 09:07:04 -0500 (Fri, 08 Dec 2006)
New Revision: 1728
Modified:
branches/Branch_Client_Failover_Experiment/tests/build.xml
branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java
branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java
branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java
Log:
More HA tweaks
Modified: branches/Branch_Client_Failover_Experiment/tests/build.xml
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/build.xml 2006-12-08 13:22:15 UTC (rev 1727)
+++ branches/Branch_Client_Failover_Experiment/tests/build.xml 2006-12-08 14:07:04 UTC (rev 1728)
@@ -715,7 +715,7 @@
haltonerror="${junit.batchtest.haltonerror}">
<formatter type="plain" usefile="${junit.formatter.usefile}"/>
<fileset dir="${build.tests.classes}">
- <include name="**/jms/clustering/*Test.class"/>
+ <include name="**/jms/clustering/HATest.class"/>
</fileset>
</batchtest>
</junit>
Modified: branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java 2006-12-08 13:22:15 UTC (rev 1727)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java 2006-12-08 14:07:04 UTC (rev 1728)
@@ -1,37 +1,33 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.test.messaging.jms.clustering;
-import javax.jms.Connection;
import javax.jms.MessageConsumer;
import javax.jms.TextMessage;
-import org.jboss.jms.client.JBossConnection;
import org.jboss.jms.client.JBossConnectionFactory;
import org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate;
import org.jboss.jms.client.delegate.ClusteredClientConnectionFactoryDelegate;
-import org.jboss.jms.client.delegate.DelegateSupport;
-import org.jboss.jms.client.state.ConnectionState;
import org.jboss.jms.message.MessageProxy;
import org.jboss.test.messaging.jms.clustering.base.ClusteringTestBase;
import org.jboss.test.messaging.tools.ServerManagement;
@@ -49,20 +45,20 @@
*/
public class HATest extends ClusteringTestBase
{
-
+
// Constants -----------------------------------------------------
-
+
// Static --------------------------------------------------------
-
+
// Attributes ----------------------------------------------------
-
+
// Constructors --------------------------------------------------
-
+
public HATest(String name)
{
super(name);
}
-
+
// Public --------------------------------------------------------
/*
@@ -74,7 +70,7 @@
JBossConnectionFactory factory = (JBossConnectionFactory )ic1.lookup("/ConnectionFactory");
ClusteredClientConnectionFactoryDelegate delegate =
- (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
+ (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
log.info ("number of delegates = " + delegate.getDelegates().length);
log.info ("number of servers = " + ServerManagement.getServer(0).getNumberOfNodesOnCluster());
@@ -130,7 +126,7 @@
int serverID1 = state1.getServerID();
int serverID2 = state2.getServerID();
-
+
int serverID3 = state3.getServerID();
int serverID4 = state4.getServerID();
@@ -186,21 +182,33 @@
}
}
-
+
/*
* Test that the failover mapping is created correctly
*/
public void testDefaultFailoverMap() throws Exception
- {
+ {
JBossConnectionFactory factory = (JBossConnectionFactory )ic1.lookup("/ConnectionFactory");
ClusteredClientConnectionFactoryDelegate delegate =
- (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
-
+ (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
+
assertEquals(3, ServerManagement.getServer(0).getNumberOfNodesOnCluster());
ClientConnectionFactoryDelegate[] delegates = delegate.getDelegates();
+ ClientConnectionFactoryDelegate cf1 = delegate.getDelegates()[0];
+
+ ClientConnectionFactoryDelegate cf2 = delegate.getDelegates()[1];
+
+ ClientConnectionFactoryDelegate cf3 = delegate.getDelegates()[2];
+
+ assertEquals(0, cf1.getServerId());
+
+ assertEquals(1, cf2.getServerId());
+
+ assertEquals(2, cf3.getServerId());
+
int[] failoverIndexes = delegate.getFailoverIndexes();
assertEquals(3, delegates.length);
@@ -215,256 +223,323 @@
assertEquals(0, failoverIndexes[2]);
+ //Now cleanly stop one of the servers
+
+ ServerManagement.stop(0, true);
+
+ assertEquals(2, ServerManagement.getServer(1).getNumberOfNodesOnCluster());
+
+ //Lookup another connection factory
+
+ JBossConnectionFactory factory2 = (JBossConnectionFactory )ic2.lookup("/ConnectionFactory");
+
+ ClusteredClientConnectionFactoryDelegate delegate2 =
+ (ClusteredClientConnectionFactoryDelegate)factory2.getDelegate();
+
+ ClientConnectionFactoryDelegate[] delegates2 = delegate2.getDelegates();
+
+ int[] failoverIndexes2 = delegate2.getFailoverIndexes();
+
+ assertEquals(2, delegates2.length);
+
+ cf1 = delegate2.getDelegates()[0];
+
+ cf2 = delegate2.getDelegates()[1];
+
+ assertEquals(0, cf1.getServerId());
+
+ assertEquals(1, cf2.getServerId());
+
+
+
+ assertEquals(2, failoverIndexes2.length);
+
+ assertEquals(1, failoverIndexes2[0]);
+
+ assertEquals(0, failoverIndexes2[1]);
+
+ //Cleanly stop another server
+
+ ServerManagement.stop(1, true);
+
+ assertEquals(1, ServerManagement.getServer(2).getNumberOfNodesOnCluster());
+
+ //Lookup another connection factory
+
+ JBossConnectionFactory factory3 = (JBossConnectionFactory )ic3.lookup("/ConnectionFactory");
+
+ ClusteredClientConnectionFactoryDelegate delegate3 =
+ (ClusteredClientConnectionFactoryDelegate)factory3.getDelegate();
+
+ ClientConnectionFactoryDelegate[] delegates3 = delegate3.getDelegates();
+
+ int[] failoverIndexes3 = delegate3.getFailoverIndexes();
+
+ assertEquals(1, delegates3.length);
+
+ cf1 = delegate3.getDelegates()[0];
+
+ assertEquals(0, cf1.getServerId());
+
+
+ assertEquals(1, failoverIndexes3.length);
+
+ assertEquals(0, failoverIndexes3[0]);
+
+
+ //TODO - Add nodes back into the cluster - test framework currently does not support this
+
+
}
-
-// public void testConnectionFactoryConnect() throws Exception
-// {
-// try
-// {
-// JBossConnectionFactory factory = (JBossConnectionFactory )ic2.lookup("/ConnectionFactory");
-// ClusteredClientConnectionFactoryDelegate delegate =
-// (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
-// log.info ("number of delegates = " + delegate.getDelegates().length);
-// log.info ("number of servers = " + ServerManagement.getServer(0).getNumberOfNodesOnCluster());
-//
-// delegate.init();
-//
-// for (int i = 0; i < 3; i++)
-// {
-// int failNode = delegate.getDelegates()[0].getFailoverNode(i);
-// log.info("Failover node for server" + i + " = " + failNode);
-// log.info("InvokerLocator for server " + i + " = " + delegate.getDelegates()[i].getServerLocatorURI());
-//
-// assertEquals("Server1 should have the same failoverMapping",
-// failNode, delegate.getDelegates()[1].getFailoverNode(i));
-// assertEquals("Server2 should have the same failoverMapping",
-// failNode, delegate.getDelegates()[2].getFailoverNode(i));
-// }
-//
-// assertEquals(3, ServerManagement.getServer(0).getNumberOfNodesOnCluster());
-// assertEquals(3, delegate.getDelegates().length);
-//
-//
-// ServerManagement.log(ServerManagement.INFO,"Stopping server 2 as part of testConnectionFactoryConnect");
-// ServerManagement.stop(2,true);
-//
-// ServerManagement.log(ServerManagement.INFO,"##### Looking up ConnectionFactory at testConnectionFactoryConnect");
-//
-// factory = (JBossConnectionFactory )ic2.lookup("/ConnectionFactory");
-// delegate = (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
-//
-// assertEquals(2, ServerManagement.getServer(0).getNumberOfNodesOnCluster());
-// assertEquals(2, delegate.getDelegates().length);
-// }
-// finally
-// {
-// ServerManagement.start("all", 2);
-// }
-//
-//
-// }
-
-
-// public void testTopicSubscriber() throws Exception
-// {
-// try
-// {
-// log.info("++testTopicSubscriber");
-//
-//
-// JBossConnectionFactory jbcf1 = (JBossConnectionFactory)cf;
-// assertTrue(jbcf1.getDelegate() instanceof ClusteredClientConnectionFactoryDelegate);
-//
-// log.info(">>Lookup Queue");
-// Destination destination = (Destination) ic2.lookup("topic/testDistributedTopic");
-//
-// log.info("Creating connection server1");
-// JBossConnection conn = (JBossConnection) cf.createConnection();
-// conn.setClientID("testClient");
-// conn.start();
-//
-// JBossSession session = (JBossSession) conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
-// ClientSessionDelegate clientSessionDelegate = (ClientSessionDelegate) session.getDelegate();
-// SessionState sessionState = (SessionState) clientSessionDelegate.getState();
-//
-// MessageConsumer consumerHA = session.createDurableSubscriber((Topic) destination, "T1");
-// JBossMessageConsumer jbossConsumerHA = (JBossMessageConsumer) consumerHA;
-//
-// org.jboss.jms.client.delegate.ClientConsumerDelegate clientDelegate = (org.jboss.jms.client.delegate.ClientConsumerDelegate) jbossConsumerHA.getDelegate();
-// ConsumerState consumerState = (ConsumerState) clientDelegate.getState();
-//
-// log.info("subscriptionName=" + consumerState.getSubscriptionName());
-//
-//
-// log.info(">>Creating Producer");
-// MessageProducer producer = session.createProducer(destination);
-// log.info(">>creating Message");
-// Message message = session.createTextMessage("Hello Before");
-// log.info(">>sending Message");
-// producer.send(message);
-// session.commit();
-//
-// receiveMessage("consumerHA", consumerHA, true, false);
-//
-// session.commit();
-// //if (true) return;
-//
-// Object txID = sessionState.getCurrentTxId();
-//
-// producer.send(session.createTextMessage("Hello again before failover"));
-//
-// ClientConnectionDelegate delegate = (ClientConnectionDelegate) conn.getDelegate();
-//
-// ServerManagement.stop(0, false);
-//
-// Thread.sleep(25000);
-//
-// //System.out.println("Kill server1"); Thread.sleep(10000);
-//
-// message = session.createTextMessage("Hello After");
-// log.info(">>Sending new message");
-// producer.send(message);
-//
-// assertEquals(txID, sessionState.getCurrentTxId());
-// System.out.println("TransactionID on client = " + txID);
-// log.info(">>Final commit");
-//
-// /* JBossConnection connSecondServer = (JBossConnection)this.factoryServer2.createConnection();
-// connSecondServer.start();
-// JBossSession sessionSecondServer = (JBossSession)connSecondServer.createSession(false,Session.AUTO_ACKNOWLEDGE);
-// MessageConsumer consumerSecondServer = sessionSecondServer.createConsumer(destination); */
-//
-// session.commit();
-//
-// /* receiveMessage("consumerSecondServer",consumerSecondServer,true,false);
-// receiveMessage("consumerSecondServer",consumerSecondServer,true,false);
-// receiveMessage("consumerSecondServer",consumerSecondServer,true,true); */
-//
-// log.info("Calling alternate receiver");
-// receiveMessage("consumerHA", consumerHA, true, false);
-// receiveMessage("consumerHA", consumerHA, true, false);
-// receiveMessage("consumerHA", consumerHA, true, true);
-//
-//
-// session.commit();
-//
-// }
-// finally
-// {
-// // restart the server as it was probably stopped (tearDown will need that)
-// ServerManagement.start("all", 0);
-// }
-// }
-
-//
-// public void testQueueHA() throws Exception
-// {
-// log.info("++testTopicSubscriber");
-//
-// log.info(">>Lookup Queue");
-// Destination destination = (Destination) ic1.lookup("queue/testDistributedQueue");
-//
-// log.info("Creating connection server1");
-// JBossConnection conn = (JBossConnection) cf1.createConnection();
-// conn.setClientID("testClient");
-// conn.start();
-//
-// JBossSession session = (JBossSession) conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
-// ClientSessionDelegate clientSessionDelegate = (ClientSessionDelegate) session.getDelegate();
-// SessionState sessionState = (SessionState) clientSessionDelegate.getState();
-//
-// MessageConsumer consumerHA = session.createConsumer(destination);
-// JBossMessageConsumer jbossConsumerHA = (JBossMessageConsumer) consumerHA;
-//
-// org.jboss.jms.client.delegate.ClientConsumerDelegate clientDelegate = (org.jboss.jms.client.delegate.ClientConsumerDelegate) jbossConsumerHA.getDelegate();
-// ConsumerState consumerState = (ConsumerState) clientDelegate.getState();
-//
-// log.info("subscriptionName=" + consumerState.getSubscriptionName());
-//
-//
-// log.info(">>Creating Producer");
-// MessageProducer producer = session.createProducer(destination);
-// log.info(">>creating Message");
-// Message message = session.createTextMessage("Hello Before");
-// log.info(">>sending Message");
-// producer.send(message);
-// session.commit();
-//
-// session.commit();
-// //if (true) return;
-//
-// Object txID = sessionState.getCurrentTxId();
-//
-// ClientConnectionDelegate delegate = (ClientConnectionDelegate) conn.getDelegate();
-//
-// JMSRemotingConnection originalRemoting = delegate.getRemotingConnection();
-//
-// log.info(">>Creating alternate connection");
-// JBossConnection conn2 = (JBossConnection) cf2.createConnection();
-// log.info("NewConnectionCreated=" + conn2);
-//
-// log.info(">>Failling over");
-// assertSame(originalRemoting, delegate.getRemotingConnection());
-// conn.getDelegate().failOver(conn2.getDelegate());
-//
-// try
-// {
-// originalRemoting.stop();
-// } catch (Throwable throwable)
-// {
-// throwable.printStackTrace();
-// }
-//
-//
-// assertNotSame(originalRemoting, delegate.getRemotingConnection());
-//
-// //System.out.println("Kill server1"); Thread.sleep(10000);
-// assertEquals(txID, sessionState.getCurrentTxId());
-// System.out.println("TransactionID on client = " + txID);
-// log.info(">>Final commit");
-//
-// session.commit();
-//
-// log.info("Calling alternate receiver");
-// receiveMessage("consumerHA", consumerHA, true, false);
-// receiveMessage("consumerHA", consumerHA, true, true);
-//
-// session.commit();
-//
-// for (int i = 0; i < 30; i++)
-// {
-// log.info("Message Sent " + i);
-// producer.send(session.createTextMessage("Message " + i));
-// }
-// session.commit();
-//
-// Thread.sleep(5000);
-//
-// TextMessage messageLoop = null;
-// while (!((messageLoop = (TextMessage) consumerHA.receive(5000)) == null))
-// {
-// log.info("Message received = " + messageLoop.getText());
-// }
-//
-// }
-
+
+// public void testConnectionFactoryConnect() throws Exception
+// {
+// try
+// {
+// JBossConnectionFactory factory = (JBossConnectionFactory )ic2.lookup("/ConnectionFactory");
+// ClusteredClientConnectionFactoryDelegate delegate =
+// (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
+// log.info ("number of delegates = " + delegate.getDelegates().length);
+// log.info ("number of servers = " + ServerManagement.getServer(0).getNumberOfNodesOnCluster());
+//
+// delegate.init();
+//
+// for (int i = 0; i < 3; i++)
+// {
+// int failNode = delegate.getDelegates()[0].getFailoverNode(i);
+// log.info("Failover node for server" + i + " = " + failNode);
+// log.info("InvokerLocator for server " + i + " = " + delegate.getDelegates()[i].getServerLocatorURI());
+//
+// assertEquals("Server1 should have the same failoverMapping",
+// failNode, delegate.getDelegates()[1].getFailoverNode(i));
+// assertEquals("Server2 should have the same failoverMapping",
+// failNode, delegate.getDelegates()[2].getFailoverNode(i));
+// }
+//
+// assertEquals(3, ServerManagement.getServer(0).getNumberOfNodesOnCluster());
+// assertEquals(3, delegate.getDelegates().length);
+//
+//
+// ServerManagement.log(ServerManagement.INFO,"Stopping server 2 as part of testConnectionFactoryConnect");
+// ServerManagement.stop(2,true);
+//
+// ServerManagement.log(ServerManagement.INFO,"##### Looking up ConnectionFactory at testConnectionFactoryConnect");
+//
+// factory = (JBossConnectionFactory )ic2.lookup("/ConnectionFactory");
+// delegate = (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
+//
+// assertEquals(2, ServerManagement.getServer(0).getNumberOfNodesOnCluster());
+// assertEquals(2, delegate.getDelegates().length);
+// }
+// finally
+// {
+// ServerManagement.start("all", 2);
+// }
+//
+//
+// }
+
+
+// public void testTopicSubscriber() throws Exception
+// {
+// try
+// {
+// log.info("++testTopicSubscriber");
+//
+//
+// JBossConnectionFactory jbcf1 = (JBossConnectionFactory)cf;
+// assertTrue(jbcf1.getDelegate() instanceof ClusteredClientConnectionFactoryDelegate);
+//
+// log.info(">>Lookup Queue");
+// Destination destination = (Destination) ic2.lookup("topic/testDistributedTopic");
+//
+// log.info("Creating connection server1");
+// JBossConnection conn = (JBossConnection) cf.createConnection();
+// conn.setClientID("testClient");
+// conn.start();
+//
+// JBossSession session = (JBossSession) conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
+// ClientSessionDelegate clientSessionDelegate = (ClientSessionDelegate) session.getDelegate();
+// SessionState sessionState = (SessionState) clientSessionDelegate.getState();
+//
+// MessageConsumer consumerHA = session.createDurableSubscriber((Topic) destination, "T1");
+// JBossMessageConsumer jbossConsumerHA = (JBossMessageConsumer) consumerHA;
+//
+// org.jboss.jms.client.delegate.ClientConsumerDelegate clientDelegate = (org.jboss.jms.client.delegate.ClientConsumerDelegate) jbossConsumerHA.getDelegate();
+// ConsumerState consumerState = (ConsumerState) clientDelegate.getState();
+//
+// log.info("subscriptionName=" + consumerState.getSubscriptionName());
+//
+//
+// log.info(">>Creating Producer");
+// MessageProducer producer = session.createProducer(destination);
+// log.info(">>creating Message");
+// Message message = session.createTextMessage("Hello Before");
+// log.info(">>sending Message");
+// producer.send(message);
+// session.commit();
+//
+// receiveMessage("consumerHA", consumerHA, true, false);
+//
+// session.commit();
+// //if (true) return;
+//
+// Object txID = sessionState.getCurrentTxId();
+//
+// producer.send(session.createTextMessage("Hello again before failover"));
+//
+// ClientConnectionDelegate delegate = (ClientConnectionDelegate) conn.getDelegate();
+//
+// ServerManagement.stop(0, false);
+//
+// Thread.sleep(25000);
+//
+// //System.out.println("Kill server1"); Thread.sleep(10000);
+//
+// message = session.createTextMessage("Hello After");
+// log.info(">>Sending new message");
+// producer.send(message);
+//
+// assertEquals(txID, sessionState.getCurrentTxId());
+// System.out.println("TransactionID on client = " + txID);
+// log.info(">>Final commit");
+//
+// /* JBossConnection connSecondServer = (JBossConnection)this.factoryServer2.createConnection();
+// connSecondServer.start();
+// JBossSession sessionSecondServer = (JBossSession)connSecondServer.createSession(false,Session.AUTO_ACKNOWLEDGE);
+// MessageConsumer consumerSecondServer = sessionSecondServer.createConsumer(destination); */
+//
+// session.commit();
+//
+// /* receiveMessage("consumerSecondServer",consumerSecondServer,true,false);
+// receiveMessage("consumerSecondServer",consumerSecondServer,true,false);
+// receiveMessage("consumerSecondServer",consumerSecondServer,true,true); */
+//
+// log.info("Calling alternate receiver");
+// receiveMessage("consumerHA", consumerHA, true, false);
+// receiveMessage("consumerHA", consumerHA, true, false);
+// receiveMessage("consumerHA", consumerHA, true, true);
+//
+//
+// session.commit();
+//
+// }
+// finally
+// {
+// // restart the server as it was probably stopped (tearDown will need that)
+// ServerManagement.start("all", 0);
+// }
+// }
+
+//
+// public void testQueueHA() throws Exception
+// {
+// log.info("++testTopicSubscriber");
+//
+// log.info(">>Lookup Queue");
+// Destination destination = (Destination) ic1.lookup("queue/testDistributedQueue");
+//
+// log.info("Creating connection server1");
+// JBossConnection conn = (JBossConnection) cf1.createConnection();
+// conn.setClientID("testClient");
+// conn.start();
+//
+// JBossSession session = (JBossSession) conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
+// ClientSessionDelegate clientSessionDelegate = (ClientSessionDelegate) session.getDelegate();
+// SessionState sessionState = (SessionState) clientSessionDelegate.getState();
+//
+// MessageConsumer consumerHA = session.createConsumer(destination);
+// JBossMessageConsumer jbossConsumerHA = (JBossMessageConsumer) consumerHA;
+//
+// org.jboss.jms.client.delegate.ClientConsumerDelegate clientDelegate = (org.jboss.jms.client.delegate.ClientConsumerDelegate) jbossConsumerHA.getDelegate();
+// ConsumerState consumerState = (ConsumerState) clientDelegate.getState();
+//
+// log.info("subscriptionName=" + consumerState.getSubscriptionName());
+//
+//
+// log.info(">>Creating Producer");
+// MessageProducer producer = session.createProducer(destination);
+// log.info(">>creating Message");
+// Message message = session.createTextMessage("Hello Before");
+// log.info(">>sending Message");
+// producer.send(message);
+// session.commit();
+//
+// session.commit();
+// //if (true) return;
+//
+// Object txID = sessionState.getCurrentTxId();
+//
+// ClientConnectionDelegate delegate = (ClientConnectionDelegate) conn.getDelegate();
+//
+// JMSRemotingConnection originalRemoting = delegate.getRemotingConnection();
+//
+// log.info(">>Creating alternate connection");
+// JBossConnection conn2 = (JBossConnection) cf2.createConnection();
+// log.info("NewConnectionCreated=" + conn2);
+//
+// log.info(">>Failling over");
+// assertSame(originalRemoting, delegate.getRemotingConnection());
+// conn.getDelegate().failOver(conn2.getDelegate());
+//
+// try
+// {
+// originalRemoting.stop();
+// } catch (Throwable throwable)
+// {
+// throwable.printStackTrace();
+// }
+//
+//
+// assertNotSame(originalRemoting, delegate.getRemotingConnection());
+//
+// //System.out.println("Kill server1"); Thread.sleep(10000);
+// assertEquals(txID, sessionState.getCurrentTxId());
+// System.out.println("TransactionID on client = " + txID);
+// log.info(">>Final commit");
+//
+// session.commit();
+//
+// log.info("Calling alternate receiver");
+// receiveMessage("consumerHA", consumerHA, true, false);
+// receiveMessage("consumerHA", consumerHA, true, true);
+//
+// session.commit();
+//
+// for (int i = 0; i < 30; i++)
+// {
+// log.info("Message Sent " + i);
+// producer.send(session.createTextMessage("Message " + i));
+// }
+// session.commit();
+//
+// Thread.sleep(5000);
+//
+// TextMessage messageLoop = null;
+// while (!((messageLoop = (TextMessage) consumerHA.receive(5000)) == null))
+// {
+// log.info("Message received = " + messageLoop.getText());
+// }
+//
+// }
+
// Package protected ---------------------------------------------
-
+
// Protected -----------------------------------------------------
-
+
protected void setUp() throws Exception
{
super.setUp();
}
-
+
protected void tearDown() throws Exception
{
super.tearDown();
}
-
+
// Private -------------------------------------------------------
-
+
private void receiveMessage(String text, MessageConsumer consumer, boolean shouldAssert, boolean shouldBeNull) throws Exception
{
MessageProxy message = (MessageProxy) consumer.receive(3000);
@@ -487,7 +562,7 @@
}
}
}
-
+
// Inner classes -------------------------------------------------
-
+
}
Modified: branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java 2006-12-08 13:22:15 UTC (rev 1727)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/base/ClusteringTestBase.java 2006-12-08 14:07:04 UTC (rev 1728)
@@ -129,16 +129,26 @@
try
{
ServerManagement.log(ServerManagement.INFO, "Undeploying Server 0");
- ServerManagement.undeployQueue("testDistributedQueue", 0);
- ServerManagement.undeployTopic("testDistributedTopic", 0);
+
+ if (ServerManagement.getServer(0).isStarted())
+ {
+ ServerManagement.undeployQueue("testDistributedQueue", 0);
+ ServerManagement.undeployTopic("testDistributedTopic", 0);
+ }
- ServerManagement.log(ServerManagement.INFO, "Undeploying Server 1");
- ServerManagement.undeployQueue("testDistributedQueue", 1);
- ServerManagement.undeployTopic("testDistributedTopic", 1);
+ if (ServerManagement.getServer(1).isStarted())
+ {
+ ServerManagement.log(ServerManagement.INFO, "Undeploying Server 1");
+ ServerManagement.undeployQueue("testDistributedQueue", 1);
+ ServerManagement.undeployTopic("testDistributedTopic", 1);
+ }
- ServerManagement.log(ServerManagement.INFO, "Undeploying Server 2");
- ServerManagement.undeployQueue("testDistributedQueue", 2);
- ServerManagement.undeployTopic("testDistributedTopic", 2);
+ if (ServerManagement.getServer(2).isStarted())
+ {
+ ServerManagement.log(ServerManagement.INFO, "Undeploying Server 2");
+ ServerManagement.undeployQueue("testDistributedQueue", 2);
+ ServerManagement.undeployTopic("testDistributedTopic", 2);
+ }
ic1.close();
ic2.close();
Modified: branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java 2006-12-08 13:22:15 UTC (rev 1727)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java 2006-12-08 14:07:04 UTC (rev 1728)
@@ -450,7 +450,10 @@
try
{
- sc.invoke(serverPeerObjectName, "stop", new Object[]{new Boolean(sendNotification)}, new String[]{"boolean"});
+ //Huh?? Where's the method on the server peer???
+ //sc.invoke(serverPeerObjectName, "stop", new Object[]{new Boolean(sendNotification)}, new String[]{"boolean"});
+
+ sc.invoke(serverPeerObjectName, "stop", new Object[0], new String[0]);
sc.invoke(serverPeerObjectName, "destroy", new Object[0], new String[0]);
sc.unregisterService(serverPeerObjectName);
}
More information about the jboss-cvs-commits
mailing list