[jboss-cvs] JBoss Messaging SVN: r1721 - in branches/Branch_Client_Failover_Experiment/tests: bin src/org/jboss/test/messaging/jms/clustering src/org/jboss/test/messaging/tools/jmx/rmi

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 7 17:56:04 EST 2006


Author: ovidiu.feodorov at jboss.com
Date: 2006-12-07 17:55:59 -0500 (Thu, 07 Dec 2006)
New Revision: 1721

Modified:
   branches/Branch_Client_Failover_Experiment/tests/bin/runtest
   branches/Branch_Client_Failover_Experiment/tests/bin/start-rmi-server
   branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringBase.java
   branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ManualClusteringTest.java
   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/RMINamingDelegate.java
   branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
Log:
more changes to make clustered tests work

Modified: branches/Branch_Client_Failover_Experiment/tests/bin/runtest
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/bin/runtest	2006-12-07 22:09:40 UTC (rev 1720)
+++ branches/Branch_Client_Failover_Experiment/tests/bin/runtest	2006-12-07 22:55:59 UTC (rev 1721)
@@ -110,13 +110,19 @@
 fi
 
 if [ "$isRemote" = "true" ]; then
+
   export TEST_DATABASE TEST_SERIALIZATION TEST_CLUSTERED
-  $reldir/start-rmi-server $REMOTE_DEBUG_FLAG -use-existent-test-classpath-file
 
+  #$reldir/start-rmi-server $REMOTE_DEBUG_FLAG -use-existent-test-classpath-file
+  $reldir/start-rmi-server -use-existent-test-classpath-file -index 0
+
   if [ "$TEST_CLUSTERED" = "true" ]; then
 
      # start the second remote server
      $reldir/start-rmi-server $REMOTE_DEBUG_FLAG -use-existent-test-classpath-file -index 1
+
+     # start the third remote server
+     $reldir/start-rmi-server $REMOTE_DEBUG_FLAG -use-existent-test-classpath-file -index 2
   fi
 
 fi
@@ -125,11 +131,24 @@
 $JAVA_HOME/bin/java $JAVA_OPTS -cp "$CLASSPATH" \
 org.jboss.test.messaging.tools.junit.SelectiveTestRunner $TARGET_CLASS $TARGET_TEST
 
+
+#
+# stop the servers in the reverse order
+#
+
 if [ "$isRemote" = "true" ]; then
-  $reldir/stop-rmi-server -use-existent-test-classpath-file -index 1
 
-  # stop the second remote server
-  $reldir/stop-rmi-server -use-existent-test-classpath-file
+    if [ "$TEST_CLUSTERED" = "true" ]; then
 
+       # stop the third remote server
+       $reldir/stop-rmi-server -use-existent-test-classpath-file -index 2
+
+       # stop the second remote server
+       $reldir/stop-rmi-server -use-existent-test-classpath-file -index 1
+
+    fi
+
+  $reldir/stop-rmi-server -use-existent-test-classpath-file -index 0
+
 fi
 

Modified: branches/Branch_Client_Failover_Experiment/tests/bin/start-rmi-server
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/bin/start-rmi-server	2006-12-07 22:09:40 UTC (rev 1720)
+++ branches/Branch_Client_Failover_Experiment/tests/bin/start-rmi-server	2006-12-07 22:55:59 UTC (rev 1721)
@@ -20,13 +20,11 @@
     SEP=":"
 fi
 
+index=0
+
 while [ "$1" != "" ]; do
     if [ "$1" = "-debug" ]; then
-        if [ $cygwin = false ]; then
-            JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=12348"
-        else
-            JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=y,address=rmiserver"
-        fi
+         debug=true
     elif [ "$1" = "-index" ]; then
         shift
         index=$1
@@ -36,9 +34,21 @@
     shift
 done
 
+echo
+echo "Starting remoting server $index ..."
+echo
+
+if [ "$debug" = true ]; then
+    if [ $cygwin = false ]; then
+        JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=12348"
+    else
+        JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=rmiserver_$index"
+    fi
+fi
+
 mkdir -p $reldir/../output/logs
 
-JAVA_OPTS="$JAVA_OPTS -Xmx768M -Dmodule.output=$reldir/../output -Dremote.test.suffix=-remote"
+JAVA_OPTS="$JAVA_OPTS -Xmx768M -Dmodule.output=$reldir/../output -Dremote.test.suffix=-remote-$index"
 
 if [ "$TEST_DATABASE" != "" ]; then
    JAVA_OPTS="$JAVA_OPTS -Dtest.database=$TEST_DATABASE"

Modified: branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringBase.java
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringBase.java	2006-12-07 22:09:40 UTC (rev 1720)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringBase.java	2006-12-07 22:55:59 UTC (rev 1721)
@@ -48,21 +48,21 @@
 
    // Attributes ----------------------------------------------------
 
+   protected Context ic;
    protected Context ic1;
    protected Context ic2;
-   protected Context ic3;
 
+   protected Queue queue;
    protected Queue queue1;
    protected Queue queue2;
-   protected Queue queue3;
 
+   protected Topic topic;
    protected Topic topic1;
    protected Topic topic2;
-   protected Topic topic3;
 
+   protected ConnectionFactory cf;
    protected ConnectionFactory cf1;
    protected ConnectionFactory cf2;
-   protected ConnectionFactory cf3;
 
    // Constructors --------------------------------------------------
 
@@ -87,32 +87,31 @@
 
       ServerManagement.log(ServerManagement.INFO,banner);
 
-
       try
       {
          startServer(0);
          startServer(1);
-//         startServer(2);
-//
-         ic1 = new InitialContext(ServerManagement.getJNDIEnvironment(0));
-         ic2 = new InitialContext(ServerManagement.getJNDIEnvironment(1));
-//         ic3 = new InitialContext(ServerManagement.getJNDIEnvironment(2));
-//
+         startServer(2);
+
          log.info("Deployed destinations ok");
-//
+
+         ic = new InitialContext(ServerManagement.getJNDIEnvironment(0));
+         ic1 = new InitialContext(ServerManagement.getJNDIEnvironment(1));
+         ic2 = new InitialContext(ServerManagement.getJNDIEnvironment(2));
+
+         cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
          cf1 = (ConnectionFactory)ic1.lookup("/ConnectionFactory");
          cf2 = (ConnectionFactory)ic2.lookup("/ConnectionFactory");
-//         cf3 = (ConnectionFactory)ic3.lookup("/ConnectionFactory");
-//
+
+         queue = (Queue)ic.lookup("queue/testDistributedQueue");
          queue1 = (Queue)ic1.lookup("queue/testDistributedQueue");
          queue2 = (Queue)ic2.lookup("queue/testDistributedQueue");
-//         queue3 = (Queue)ic3.lookup("queue/testDistributedQueue");
-//
+
+         topic = (Topic)ic.lookup("topic/testDistributedTopic");
          topic1 = (Topic)ic1.lookup("topic/testDistributedTopic");
          topic2 = (Topic)ic2.lookup("topic/testDistributedTopic");
-//         topic3 = (Topic)ic3.lookup("topic/testDistributedTopic");
-//
-//         drainQueues();
+
+         drainQueues();
       }
       catch (Exception e)
       {
@@ -121,12 +120,11 @@
       }
    }
 
-   private void startServer(int peer)
-      throws Exception
+   private void startServer(int serverIndex) throws Exception
    {
-      ServerManagement.start("all", peer);
-      ServerManagement.deployClusteredQueue("testDistributedQueue", peer);
-      ServerManagement.deployClusteredTopic("testDistributedTopic", peer);
+      ServerManagement.start("all", serverIndex);
+      ServerManagement.deployClusteredQueue("testDistributedQueue", serverIndex);
+      ServerManagement.deployClusteredTopic("testDistributedTopic", serverIndex);
    }
 
    protected void tearDown() throws Exception
@@ -140,17 +138,14 @@
          ServerManagement.log(ServerManagement.INFO,"Undeploying Server 1");
          ServerManagement.undeployQueue("testDistributedQueue", 1);
          ServerManagement.undeployTopic("testDistributedTopic", 1);
-//
-//         ServerManagement.undeployQueue("testDistributedQueue", 2);
-//         ServerManagement.undeployTopic("testDistributedTopic", 2);
 
          ServerManagement.log(ServerManagement.INFO,"Undeploying Server 2");
          ServerManagement.undeployQueue("testDistributedQueue", 2);
          ServerManagement.undeployTopic("testDistributedTopic", 2);
 
+         ic.close();
          ic1.close();
          ic2.close();
-//         ic3.close();
 
          super.tearDown();
       }
@@ -163,53 +158,64 @@
 
    protected void drainQueues() throws Exception
    {
+      Connection conn = null;
       Connection conn1 = null;
       Connection conn2 = null;
-      Connection conn3 = null;
 
       try
       {
+         conn = cf.createConnection();
          conn1 = cf1.createConnection();
          conn2 = cf2.createConnection();
-         conn3 = cf3.createConnection();
 
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
+         MessageConsumer cons = sess.createConsumer(queue);
          MessageConsumer cons1 = sess1.createConsumer(queue1);
          MessageConsumer cons2 = sess2.createConsumer(queue2);
-         MessageConsumer cons3 = sess3.createConsumer(queue3);
 
+         conn.start();
          conn1.start();
          conn2.start();
-         conn3.start();
 
          Message msg = null;
 
          do
          {
-            msg = cons1.receive(1000);
+            msg = cons.receive(1000);
          }
          while (msg != null);
 
          do
          {
-            msg = cons2.receive(1000);
+            msg = cons1.receive(1000);
          }
          while (msg != null);
 
          do
          {
-            msg = cons3.receive(1000);
+            msg = cons2.receive(1000);
          }
          while (msg != null);
       }
       finally
       {
-         if (conn1 != null) conn1.close();
-         if (conn2 != null) conn2.close();
-         if (conn3 != null) conn3.close();
+         if (conn != null)
+         {
+            conn.close();
+         }
+
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
+
+         if (conn2 != null)
+         {
+            conn2.close();
+         }
       }
    }
 

Modified: branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ManualClusteringTest.java
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ManualClusteringTest.java	2006-12-07 22:09:40 UTC (rev 1720)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/jms/clustering/ManualClusteringTest.java	2006-12-07 22:55:59 UTC (rev 1721)
@@ -135,136 +135,136 @@
     */
    protected void clusteredQueueLocalConsumer(boolean persistent) throws Exception
    {
+      Connection conn = null;
       Connection conn1 = null;
-
       Connection conn2 = null;
 
-      Connection conn3 = null;
       try
       {
+         conn = cf.createConnection();
          conn1 = cf1.createConnection();
-
          conn2 = cf2.createConnection();
 
-         conn3 = cf3.createConnection();
-
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-         Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
+         MessageConsumer cons = sess.createConsumer(queue);
          MessageConsumer cons1 = sess1.createConsumer(queue1);
-
          MessageConsumer cons2 = sess2.createConsumer(queue2);
 
-         MessageConsumer cons3 = sess3.createConsumer(queue3);
-
+         conn.start();
          conn1.start();
-
          conn2.start();
 
-         conn3.start();
+         // Send at node 0
 
-         //Send at node1
+         MessageProducer prod = sess.createProducer(queue);
 
-         MessageProducer prod1 = sess1.createProducer(queue1);
+         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
-         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
-
          final int NUM_MESSAGES = 100;
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess1.createTextMessage("message" + i);
+            TextMessage tm = sess.createTextMessage("message" + i);
 
-            prod1.send(tm);
+            prod.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons1.receive(1000);
+            TextMessage tm = (TextMessage)cons.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + i, tm.getText());
          }
 
-         Message m = cons2.receive(2000);
+         Message m = cons1.receive(2000);
 
          assertNull(m);
 
-         m = cons3.receive(2000);
+         m = cons2.receive(2000);
 
          assertNull(m);
 
-         // Send at node2
+         // Send at node 1
 
-         MessageProducer prod2 = sess2.createProducer(queue2);
+         MessageProducer prod1 = sess1.createProducer(queue1);
 
-         prod2.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
+         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess2.createTextMessage("message" + i);
+            TextMessage tm = sess1.createTextMessage("message" + i);
 
-            prod2.send(tm);
+            prod1.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons2.receive(1000);
+            TextMessage tm = (TextMessage)cons1.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + i, tm.getText());
          }
 
-         m = cons1.receive(2000);
+         m = cons.receive(2000);
 
          assertNull(m);
 
-         m = cons3.receive(2000);
+         m = cons2.receive(2000);
 
          assertNull(m);
 
-         // Send at node3
+         // Send at node 2
 
-         MessageProducer prod3 = sess3.createProducer(queue3);
+         MessageProducer prod2 = sess2.createProducer(queue2);
 
-         prod3.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
+         prod2.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess3.createTextMessage("message" + i);
+            TextMessage tm = sess2.createTextMessage("message" + i);
 
-            prod3.send(tm);
+            prod2.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons3.receive(1000);
+            TextMessage tm = (TextMessage)cons2.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + i, tm.getText());
          }
 
-         m = cons1.receive(2000);
+         m = cons.receive(2000);
 
          assertNull(m);
 
-         m = cons2.receive(2000);
+         m = cons1.receive(2000);
 
          assertNull(m);
       }
       finally
       {
-         if (conn1 != null) conn1.close();
+         if (conn != null)
+         {
+            conn.close();
+         }
 
-         if (conn2 != null) conn2.close();
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
 
-         if (conn3 != null) conn3.close();
+         if (conn2 != null)
+         {
+            conn2.close();
+         }
       }
    }
 
@@ -276,59 +276,49 @@
     */
    private void clusteredTopicNonDurable(boolean persistent) throws Exception
    {
+      Connection conn = null;
       Connection conn1 = null;
-
       Connection conn2 = null;
-
-      Connection conn3 = null;
       try
       {
+         conn = cf.createConnection();
          conn1 = cf1.createConnection();
-
          conn2 = cf2.createConnection();
 
-         conn3 = cf3.createConnection();
-
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-         Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
+         MessageConsumer cons = sess.createConsumer(topic);
          MessageConsumer cons1 = sess1.createConsumer(topic1);
-
          MessageConsumer cons2 = sess2.createConsumer(topic2);
 
-         MessageConsumer cons3 = sess3.createConsumer(topic3);
+         MessageConsumer cons3 = sess.createConsumer(topic);
 
          MessageConsumer cons4 = sess1.createConsumer(topic1);
 
-         MessageConsumer cons5 = sess2.createConsumer(topic2);
-
+         conn.start();
          conn1.start();
-
          conn2.start();
 
-         conn3.start();
+         // Send at node 0
 
-         //Send at node1
+         MessageProducer prod = sess.createProducer(topic);
 
-         MessageProducer prod1 = sess1.createProducer(topic1);
+         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
-         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
-
          final int NUM_MESSAGES = 100;
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess1.createTextMessage("message" + i);
+            TextMessage tm = sess.createTextMessage("message" + i);
 
-            prod1.send(tm);
+            prod.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons1.receive(1000);
+            TextMessage tm = (TextMessage)cons.receive(1000);
 
             assertNotNull(tm);
 
@@ -337,7 +327,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons2.receive(1000);
+            TextMessage tm = (TextMessage)cons1.receive(1000);
 
             assertNotNull(tm);
 
@@ -346,7 +336,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons3.receive(1000);
+            TextMessage tm = (TextMessage)cons2.receive(1000);
 
             assertNotNull(tm);
 
@@ -355,7 +345,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons4.receive(1000);
+            TextMessage tm = (TextMessage)cons3.receive(1000);
 
             assertNotNull(tm);
 
@@ -364,7 +354,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons5.receive(1000);
+            TextMessage tm = (TextMessage)cons4.receive(1000);
 
             assertNotNull(tm);
 
@@ -373,17 +363,23 @@
       }
       finally
       {
-         if (conn1 != null) conn1.close();
+         if (conn != null)
+         {
+            conn.close();
+         }
 
-         if (conn2 != null) conn2.close();
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
 
-         if (conn3 != null) conn3.close();
+         if (conn2 != null)
+         {
+            conn2.close();
+         }
       }
    }
 
-
-
-
    /*
     * Create non durable subscriptions on all nodes of the cluster.
     * Include some with selectors
@@ -391,52 +387,43 @@
     */
    private void clusteredTopicNonDurableWithSelectors(boolean persistent) throws Exception
    {
+      Connection conn = null;
       Connection conn1 = null;
-
       Connection conn2 = null;
 
-      Connection conn3 = null;
       try
       {
+         conn = cf.createConnection();
          conn1 = cf1.createConnection();
-
          conn2 = cf2.createConnection();
 
-         conn3 = cf3.createConnection();
-
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-         Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
+         MessageConsumer cons = sess.createConsumer(topic);
          MessageConsumer cons1 = sess1.createConsumer(topic1);
-
          MessageConsumer cons2 = sess2.createConsumer(topic2);
 
-         MessageConsumer cons3 = sess3.createConsumer(topic3);
+         MessageConsumer cons3 = sess.createConsumer(topic, "COLOUR='red'");
 
-         MessageConsumer cons4 = sess1.createConsumer(topic1, "COLOUR='red'");
+         MessageConsumer cons4 = sess1.createConsumer(topic1, "COLOUR='blue'");
 
-         MessageConsumer cons5 = sess2.createConsumer(topic2, "COLOUR='blue'");
-
+         conn.start();
          conn1.start();
-
          conn2.start();
 
-         conn3.start();
+         // Send at node 0
 
-         //Send at node1
+         MessageProducer prod = sess.createProducer(topic);
 
-         MessageProducer prod1 = sess1.createProducer(topic1);
+         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
-         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
-
          final int NUM_MESSAGES = 100;
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess1.createTextMessage("message" + i);
+            TextMessage tm = sess.createTextMessage("message" + i);
 
             int c = i % 3;
             if (c == 0)
@@ -448,12 +435,12 @@
                tm.setStringProperty("COLOUR", "blue");
             }
 
-            prod1.send(tm);
+            prod.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons1.receive(1000);
+            TextMessage tm = (TextMessage)cons.receive(1000);
 
             assertNotNull(tm);
 
@@ -462,7 +449,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons2.receive(1000);
+            TextMessage tm = (TextMessage)cons1.receive(1000);
 
             assertNotNull(tm);
 
@@ -471,7 +458,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons3.receive(1000);
+            TextMessage tm = (TextMessage)cons2.receive(1000);
 
             assertNotNull(tm);
 
@@ -484,7 +471,7 @@
 
             if (c == 0)
             {
-               TextMessage tm = (TextMessage)cons4.receive(1000);
+               TextMessage tm = (TextMessage)cons3.receive(1000);
 
                assertNotNull(tm);
 
@@ -498,7 +485,7 @@
 
             if (c == 1)
             {
-               TextMessage tm = (TextMessage)cons5.receive(1000);
+               TextMessage tm = (TextMessage)cons4.receive(1000);
 
                assertNotNull(tm);
 
@@ -508,11 +495,20 @@
       }
       finally
       {
-         if (conn1 != null) conn1.close();
+         if (conn != null)
+         {
+            conn.close();
+         }
 
-         if (conn2 != null) conn2.close();
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
 
-         if (conn3 != null) conn3.close();
+         if (conn2 != null)
+         {
+            conn2.close();
+         }
       }
    }
 
@@ -526,91 +522,77 @@
     */
    private void clusteredTopicDurable(boolean persistent) throws Exception
    {
+      Connection conn = null;
       Connection conn1 = null;
-
       Connection conn2 = null;
-
-      Connection conn3 = null;
       try
       {
+         conn = cf.createConnection();
          conn1 = cf1.createConnection();
-
          conn2 = cf2.createConnection();
 
-         conn3 = cf3.createConnection();
-
+         conn.setClientID("wib1");
          conn1.setClientID("wib1");
-
          conn2.setClientID("wib1");
 
-         conn3.setClientID("wib1");
-
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-         Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          try
          {
-            sess1.unsubscribe("sub1");
+            sess.unsubscribe("sub");
          }
          catch (Exception ignore) {}
          try
          {
-            sess2.unsubscribe("sub2");
+            sess1.unsubscribe("sub1");
          }
          catch (Exception ignore) {}
          try
          {
-            sess3.unsubscribe("sub3");
+            sess2.unsubscribe("sub2");
          }
          catch (Exception ignore) {}
          try
          {
-            sess1.unsubscribe("sub4");
+            sess.unsubscribe("sub3");
          }
          catch (Exception ignore) {}
          try
          {
-            sess2.unsubscribe("sub5");
+            sess1.unsubscribe("sub4");
          }
          catch (Exception ignore) {}
 
+         MessageConsumer cons = sess.createDurableSubscriber(topic, "sub");
          MessageConsumer cons1 = sess1.createDurableSubscriber(topic1, "sub1");
-
          MessageConsumer cons2 = sess2.createDurableSubscriber(topic2, "sub2");
-
-         MessageConsumer cons3 = sess3.createDurableSubscriber(topic3, "sub3");
-
+         MessageConsumer cons3 = sess.createDurableSubscriber(topic, "sub3");
          MessageConsumer cons4 = sess1.createDurableSubscriber(topic1, "sub4");
 
-         MessageConsumer cons5 = sess2.createDurableSubscriber(topic2, "sub5");
-
+         conn.start();
          conn1.start();
-
          conn2.start();
 
-         conn3.start();
+         // Send at node 0
 
-         //Send at node1
+         MessageProducer prod = sess.createProducer(topic);
 
-         MessageProducer prod1 = sess1.createProducer(topic1);
+         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
-         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
-
          final int NUM_MESSAGES = 100;
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
             TextMessage tm = sess1.createTextMessage("message" + i);
 
-            prod1.send(tm);
+            prod.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons1.receive(1000);
+            TextMessage tm = (TextMessage)cons.receive(1000);
 
             assertNotNull(tm);
 
@@ -619,7 +601,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons2.receive(1000);
+            TextMessage tm = (TextMessage)cons1.receive(1000);
 
             assertNotNull(tm);
 
@@ -628,7 +610,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons3.receive(1000);
+            TextMessage tm = (TextMessage)cons2.receive(1000);
 
             assertNotNull(tm);
 
@@ -637,7 +619,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons4.receive(1000);
+            TextMessage tm = (TextMessage)cons3.receive(1000);
 
             assertNotNull(tm);
 
@@ -646,41 +628,42 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons5.receive(1000);
+            TextMessage tm = (TextMessage)cons4.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + i, tm.getText());
          }
 
+         cons.close();
          cons1.close();
-
          cons2.close();
-
          cons3.close();
-
          cons4.close();
 
-         cons5.close();
-
+         sess.unsubscribe("sub");
          sess1.unsubscribe("sub1");
-
          sess2.unsubscribe("sub2");
-
-         sess3.unsubscribe("sub3");
-
+         sess.unsubscribe("sub3");
          sess1.unsubscribe("sub4");
 
-         sess2.unsubscribe("sub5");
-
       }
       finally
       {
-         if (conn1 != null) conn1.close();
+         if (conn != null)
+         {
+            conn.close();
+         }
 
-         if (conn2 != null) conn2.close();
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
 
-         if (conn3 != null) conn3.close();
+         if (conn2 != null)
+         {
+            conn2.close();
+         }
       }
    }
 
@@ -692,172 +675,166 @@
     */
    protected void clusteredTopicSharedDurableLocalConsumer(boolean persistent) throws Exception
    {
+      Connection conn = null;
       Connection conn1 = null;
-
       Connection conn2 = null;
-
-      Connection conn3 = null;
       try
+
       {
+         conn = cf.createConnection();
          conn1 = cf1.createConnection();
-
          conn2 = cf2.createConnection();
 
-         conn3 = cf3.createConnection();
-
+         conn.setClientID("wib1");
          conn1.setClientID("wib1");
-
          conn2.setClientID("wib1");
 
-         conn3.setClientID("wib1");
-
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-         Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          try
          {
-            sess1.unsubscribe("sub1");
+            sess.unsubscribe("sub");
          }
          catch (Exception ignore) {}
          try
          {
-            sess2.unsubscribe("sub1");
+            sess1.unsubscribe("sub");
          }
          catch (Exception ignore) {}
          try
          {
-            sess3.unsubscribe("sub1");
+            sess2.unsubscribe("sub");
          }
          catch (Exception ignore) {}
 
-         MessageConsumer cons1 = sess1.createDurableSubscriber(topic1, "sub1");
+         MessageConsumer cons = sess.createDurableSubscriber(topic, "sub");
+         MessageConsumer cons1 = sess1.createDurableSubscriber(topic1, "sub");
+         MessageConsumer cons2 = sess2.createDurableSubscriber(topic2, "sub");
 
-         MessageConsumer cons2 = sess2.createDurableSubscriber(topic2, "sub1");
-
-         MessageConsumer cons3 = sess3.createDurableSubscriber(topic3, "sub1");
-
+         conn.start();
          conn1.start();
-
          conn2.start();
 
-         conn3.start();
+         // Send at node 0
 
-         //Send at node1
+         MessageProducer prod = sess.createProducer(topic);
 
-         MessageProducer prod1 = sess1.createProducer(topic1);
+         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
-         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
-
          final int NUM_MESSAGES = 100;
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess1.createTextMessage("message" + i);
+            TextMessage tm = sess.createTextMessage("message" + i);
 
-            prod1.send(tm);
+            prod.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons1.receive(1000);
+            TextMessage tm = (TextMessage)cons.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + i, tm.getText());
          }
 
-         Message m = cons2.receive(2000);
+         Message m = cons1.receive(2000);
 
          assertNull(m);
 
-         m = cons3.receive(2000);
+         m = cons2.receive(2000);
 
          assertNull(m);
 
-         // Send at node2
+         // Send at node 1
 
-         MessageProducer prod2 = sess2.createProducer(topic2);
+         MessageProducer prod1 = sess1.createProducer(topic1);
 
-         prod2.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
+         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
             TextMessage tm = sess2.createTextMessage("message" + i);
 
-            prod2.send(tm);
+            prod1.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons2.receive(1000);
+            TextMessage tm = (TextMessage)cons1.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + i, tm.getText());
          }
 
-         m = cons1.receive(2000);
+         m = cons.receive(2000);
 
          assertNull(m);
 
-         m = cons3.receive(2000);
+         m = cons2.receive(2000);
 
          assertNull(m);
 
-         // Send at node3
+         // Send at node 2
 
-         MessageProducer prod3 = sess3.createProducer(topic3);
+         MessageProducer prod2 = sess2.createProducer(topic2);
 
-         prod3.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
+         prod2.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess3.createTextMessage("message" + i);
+            TextMessage tm = sess2.createTextMessage("message" + i);
 
-            prod3.send(tm);
+            prod2.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage)cons3.receive(1000);
+            TextMessage tm = (TextMessage)cons2.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + i, tm.getText());
          }
 
-         m = cons1.receive(2000);
+         m = cons.receive(2000);
 
          assertNull(m);
 
-         m = cons2.receive(2000);
+         m = cons1.receive(2000);
 
          assertNull(m);
 
+         cons.close();
          cons1.close();
-
          cons2.close();
 
-         cons3.close();
+         // Need to unsubscribe on any node that the durable sub was created on
 
-         //Need to unsubscribe on any node that the durable sub was created on
-
-         sess1.unsubscribe("sub1");
-
-         sess2.unsubscribe("sub1");
-
-         sess3.unsubscribe("sub1");
+         sess.unsubscribe("sub");
+         sess1.unsubscribe("sub");
+         sess2.unsubscribe("sub");
       }
       finally
       {
-         if (conn1 != null) conn1.close();
+         if (conn != null)
+         {
+            conn.close();
+         }
 
-         if (conn2 != null) conn2.close();
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
 
-         if (conn3 != null) conn3.close();
+         if (conn2 != null)
+         {
+            conn2.close();
+         }
       }
    }
 
@@ -870,68 +847,60 @@
     */
    protected void clusteredTopicSharedDurableNoLocalSub(boolean persistent) throws Exception
    {
+      Connection conn = null;
       Connection conn1 = null;
-
       Connection conn2 = null;
 
-      Connection conn3 = null;
       try
       {
+         conn = cf.createConnection();
          conn1 = cf1.createConnection();
-
          conn2 = cf2.createConnection();
 
-         conn3 = cf3.createConnection();
-
+         conn1.setClientID("wib1");
          conn2.setClientID("wib1");
 
-         conn3.setClientID("wib1");
-
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-         Session sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
          try
          {
-            sess2.unsubscribe("sub1");
+            sess1.unsubscribe("sub");
          }
          catch (Exception ignore) {}
          try
          {
-            sess3.unsubscribe("sub1");
+            sess2.unsubscribe("sub");
          }
          catch (Exception ignore) {}
 
-         MessageConsumer cons2 = sess2.createDurableSubscriber(topic2, "sub1");
+         MessageConsumer cons1 = sess1.createDurableSubscriber(topic1, "sub");
+         MessageConsumer cons2 = sess2.createDurableSubscriber(topic2, "sub");
 
-         MessageConsumer cons3 = sess3.createDurableSubscriber(topic3, "sub1");
-
+         conn1.start();
          conn2.start();
 
-         conn3.start();
+         // Send at node 0
 
-         //Send at node1
+         //Should round robin between the other 2 since there is no active consumer on sub  on node 0
 
-         //Should round robin between the other 2 since there is no active consumer on sub1 on node1
+         MessageProducer prod = sess.createProducer(topic);
 
-         MessageProducer prod1 = sess1.createProducer(topic1);
+         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
 
-         prod1.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
-
          final int NUM_MESSAGES = 100;
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = sess1.createTextMessage("message" + i);
+            TextMessage tm = sess.createTextMessage("message" + i);
 
-            prod1.send(tm);
+            prod.send(tm);
          }
 
          for (int i = 0; i < NUM_MESSAGES / 2; i++)
          {
-            TextMessage tm = (TextMessage)cons2.receive(1000);
+            TextMessage tm = (TextMessage)cons1.receive(1000);
 
             assertNotNull(tm);
 
@@ -940,29 +909,36 @@
 
          for (int i = 0; i < NUM_MESSAGES / 2; i++)
          {
-            TextMessage tm = (TextMessage)cons3.receive(1000);
+            TextMessage tm = (TextMessage)cons2.receive(1000);
 
             assertNotNull(tm);
 
             assertEquals("message" + (i * 2 + 1), tm.getText());
          }
 
+         cons1.close();
          cons2.close();
 
-         cons3.close();
+         sess1.unsubscribe("sub");
+         sess2.unsubscribe("sub");
 
-         sess2.unsubscribe("sub1");
-
-         sess3.unsubscribe("sub1");
-
       }
       finally
       {
-         if (conn1 != null) conn1.close();
+         if (conn != null)
+         {
+            conn.close();
+         }
 
-         if (conn2 != null) conn2.close();
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
 
-         if (conn3 != null) conn3.close();
+         if (conn2 != null)
+         {
+            conn2.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-07 22:09:40 UTC (rev 1720)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/LocalTestServer.java	2006-12-07 22:55:59 UTC (rev 1721)
@@ -273,9 +273,6 @@
          String databaseType = sc.getDatabaseType();
          String persistenceConfigFile;
 
-         log.info("DatabaseType=" + databaseType);
-         log.info("Clustered:" + clustered);
-         
          if (clustered && !databaseType.equals("hsqldb"))
          {
             //HSQL can't be used for clustered server peer - since it's not a shared database

Modified: branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMINamingDelegate.java
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMINamingDelegate.java	2006-12-07 22:09:40 UTC (rev 1720)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMINamingDelegate.java	2006-12-07 22:55:59 UTC (rev 1721)
@@ -43,12 +43,14 @@
    // Attributes ----------------------------------------------------
 
    private InitialContextAccess ica;
+   private int serverIndex;
 
    // Constructors --------------------------------------------------
 
-   public RMINamingDelegate() throws Exception
+   public RMINamingDelegate(int serverIndex) throws Exception
    {
       super();
+      this.serverIndex = serverIndex;
       ica = new InitialContextAccess();
    }
 
@@ -87,7 +89,7 @@
       {
          if (ic == null)
          {
-            ic = new InitialContext(InVMInitialContextFactory.getJNDIEnvironment());
+            ic = new InitialContext(InVMInitialContextFactory.getJNDIEnvironment(serverIndex));
          }
          return ic;
       }

Modified: branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
===================================================================
--- branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java	2006-12-07 22:09:40 UTC (rev 1720)
+++ branches/Branch_Client_Failover_Experiment/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java	2006-12-07 22:55:59 UTC (rev 1721)
@@ -139,7 +139,7 @@
    public RMITestServer(int index) throws Exception
    {
       this.index = index;
-      namingDelegate = new RMINamingDelegate();
+      namingDelegate = new RMINamingDelegate(index);
       server = new RemoteTestServer(index);
    }
 




More information about the jboss-cvs-commits mailing list