[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