[jboss-cvs] JBoss Messaging SVN: r1799 - in trunk: src/etc/server/default/deploy src/main/org/jboss/jms/client/delegate src/main/org/jboss/messaging/core tests/bin tests/src/org/jboss/test/messaging/jms/clustering tests/src/org/jboss/test/messaging/tools/jmx/rmi

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Dec 15 07:52:45 EST 2006


Author: timfox
Date: 2006-12-15 07:52:36 -0500 (Fri, 15 Dec 2006)
New Revision: 1799

Modified:
   trunk/src/etc/server/default/deploy/remoting-service.xml
   trunk/src/main/org/jboss/jms/client/delegate/ClientConnectionDelegate.java
   trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
   trunk/tests/bin/runtest
   trunk/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java
   trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
   trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/Server.java
Log:
a bit of logging and some minor changes to tests



Modified: trunk/src/etc/server/default/deploy/remoting-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/remoting-service.xml	2006-12-15 08:59:37 UTC (rev 1798)
+++ trunk/src/etc/server/default/deploy/remoting-service.xml	2006-12-15 12:52:36 UTC (rev 1799)
@@ -23,7 +23,7 @@
                <attribute name="timeout">0</attribute>
                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
                <attribute name="serverBindPort">4457</attribute>
-               <attribute name="leasePeriod">20000</attribute>
+               <attribute name="leasePeriod">10000</attribute>
                <attribute name="callbackStore">org.jboss.remoting.callback.CallbackStore</attribute>
                <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
                <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>

Modified: trunk/src/main/org/jboss/jms/client/delegate/ClientConnectionDelegate.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/delegate/ClientConnectionDelegate.java	2006-12-15 08:59:37 UTC (rev 1798)
+++ trunk/src/main/org/jboss/jms/client/delegate/ClientConnectionDelegate.java	2006-12-15 12:52:36 UTC (rev 1799)
@@ -217,7 +217,7 @@
 
    public String toString()
    {
-      return "ConnectionDelegate[" + id + ", " + serverID + "]";
+      return "ConnectionDelegate[id:" + id + ", serverid:" + serverID + "]";
    }
 
    public void init()

Modified: trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/ChannelSupport.java	2006-12-15 08:59:37 UTC (rev 1798)
+++ trunk/src/main/org/jboss/messaging/core/ChannelSupport.java	2006-12-15 12:52:36 UTC (rev 1799)
@@ -497,7 +497,7 @@
       //debug
       Iterator iter = messageIds.iterator();
       
-      log.info("***** createdeliveries");
+      log.info("***** createdeliveries:" + messageIds.size());
       while (iter.hasNext())
       {
          Long l = (Long)iter.next();
@@ -527,7 +527,7 @@
                   {
                      // TODO we need to look in paging state too - currently not supported
                      
-                     throw new IllegalStateException("Cannot find ref in queue! (Might be paged!)");
+                     throw new IllegalStateException("Cannot find ref in queue! (Might be paged!) " + id);
                   }
                   
                   MessageReference ref = (MessageReference)liter.next();

Modified: trunk/tests/bin/runtest
===================================================================
--- trunk/tests/bin/runtest	2006-12-15 08:59:37 UTC (rev 1798)
+++ trunk/tests/bin/runtest	2006-12-15 12:52:36 UTC (rev 1799)
@@ -48,6 +48,8 @@
    TEST_REMOTING=$ENV_TEST_REMOTING
 fi
 
+TEST_DATABASE=mysql
+
 #
 # We should use the same test execution classpath as the ant <junit> task, so we run ant to get
 # it from there.

Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java	2006-12-15 08:59:37 UTC (rev 1798)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/HATest.java	2006-12-15 12:52:36 UTC (rev 1799)
@@ -26,11 +26,11 @@
 import java.util.Set;
 
 import javax.jms.Connection;
+import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
 import javax.jms.Session;
 import javax.jms.TextMessage;
-import javax.jms.Message;
 
 import org.jboss.jms.client.JBossConnection;
 import org.jboss.jms.client.JBossConnectionFactory;
@@ -583,6 +583,12 @@
       log.info("server 1 id: " + server1Id);
 
       log.info("server 2 id: " + server2Id);
+      
+      assertEquals(0, server0Id);
+      
+      assertEquals(1, server1Id);
+      
+      assertEquals(2, server2Id);
 
       Map failoverMap = delegate.getFailoverMap();
 
@@ -651,6 +657,7 @@
          //So we now kill server 1
          //Which should cause transparent failover of connection conn onto server 1
 
+         log.info("here we go");
          log.info("######");
          log.info("###### KILLING (CRASHING) SERVER 1");
          log.info("######");
@@ -661,7 +668,7 @@
 
          log.info("killed server, now waiting");
 
-         Thread.sleep(10000);
+         Thread.sleep(5000);
 
          log.info("done wait");
 
@@ -685,12 +692,12 @@
 
          for (int i = NUM_MESSAGES / 2; i < NUM_MESSAGES; i++)
          {
-            tm = (TextMessage)cons.receive(500);
+            tm = (TextMessage)cons.receive(1000);
 
+            assertNotNull(tm);
+            
             log.info("message is " + tm.getText());
 
-            assertNotNull(tm);
-
             assertEquals("message:" + i, tm.getText());
          }
 
@@ -737,189 +744,189 @@
    }
 
    
-//   public void testFailoverWithUnackedMessagesTransactional() throws Exception
-//   {
-//      JBossConnectionFactory factory =  (JBossConnectionFactory )ic[0].lookup("/ConnectionFactory");
-//
-//      ClusteredClientConnectionFactoryDelegate delegate =
-//         (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
-//
-//      Set nodeIDView = ServerManagement.getServer(0).getNodeIDView();
-//      assertEquals(3, nodeIDView.size());
-//
-//      ClientConnectionFactoryDelegate[] delegates = delegate.getDelegates();
-//
-//      ClientConnectionFactoryDelegate cf1 = delegates[0];
-//
-//      ClientConnectionFactoryDelegate cf2 = delegates[1];
-//
-//      ClientConnectionFactoryDelegate cf3 = delegates[2];
-//
-//      int server0Id = cf1.getServerID();
-//
-//      int server1Id = cf2.getServerID();
-//
-//      int server2Id = cf3.getServerID();
-//
-//      log.info("server 0 id: " + server0Id);
-//
-//      log.info("server 1 id: " + server1Id);
-//
-//      log.info("server 2 id: " + server2Id);
-//
-//      Map failoverMap = delegate.getFailoverMap();
-//
-//      log.info(failoverMap.get(new Integer(server0Id)));
-//      log.info(failoverMap.get(new Integer(server1Id)));
-//      log.info(failoverMap.get(new Integer(server2Id)));
-//
-//      int server1FailoverId = ((Integer)failoverMap.get(new Integer(server1Id))).intValue();
-//
-//      // server 1 should failover onto server 2
-//
-//      assertEquals(server2Id, server1FailoverId);
-//
-//      Connection conn = null;
-//
-//      boolean killed = false;
-//
-//      try
-//      {
-//         //Get a connection on server 1
-//         conn = factory.createConnection(); //connection on server 0
-//
-//         conn.close();
-//
-//         conn = factory.createConnection(); //connection on server 1
-//
-//         JBossConnection jbc = (JBossConnection)conn;
-//
-//         ClientConnectionDelegate del = (ClientConnectionDelegate)jbc.getDelegate();
-//
-//         ConnectionState state = (ConnectionState)del.getState();
-//
-//         int initialServerID = state.getServerID();
-//
-//         assertEquals(1, initialServerID);
-//
-//         Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
-//
-//         MessageProducer prod = sess.createProducer(queue[1]);
-//
-//         MessageConsumer cons = sess.createConsumer(queue[1]);
-//
-//         final int NUM_MESSAGES = 100;
-//
-//         for (int i = 0; i < NUM_MESSAGES; i++)
-//         {
-//            TextMessage tm = sess.createTextMessage("message:" + i);
-//
-//            prod.send(tm);
-//         }
-//
-//         sess.commit();
-//
-//         conn.start();
-//
-//         //Now consume half of the messages but don't commit them these will end up in
-//         //client side resource manager
-//
-//         for (int i = 0; i < NUM_MESSAGES / 2; i++)
-//         {
-//            TextMessage tm = (TextMessage)cons.receive(500);
-//
-//            assertNotNull(tm);
-//
-//            assertEquals("message:" + i, tm.getText());
-//         }
-//
-//         //So now, messages should be in queue[1] on server 1
-//         //So we now kill server 1
-//         //Which should cause transparent failover of connection conn onto server 1
-//
-//         log.info("######");
-//         log.info("###### KILLING (CRASHING) SERVER 1");
-//         log.info("######");
-//
-//         ServerManagement.kill(1);
-//
-//         killed = true;
-//
-//         log.info("killed server, now waiting");
-//
-//         Thread.sleep(5000);
-//
-//         log.info("done wait");
-//
-//         state = (ConnectionState)del.getState();
-//
-//         int finalServerID = state.getServerID();
-//
-//         log.info("final server id= " + finalServerID);
-//
-//         //server id should now be 2
-//
-//         assertEquals(2, finalServerID);
-//
-//         conn.start();
-//
-//         //Now should be able to consume the rest of the messages
-//
-//         log.info("here1");
-//
-//         TextMessage tm = null;
-//
-//         for (int i = NUM_MESSAGES / 2; i < NUM_MESSAGES; i++)
-//         {
-//            tm = (TextMessage)cons.receive(500);
-//
-//            log.info("message is " + tm.getText());
-//
-//            assertNotNull(tm);
-//
-//            assertEquals("message:" + i, tm.getText());
-//         }
-//
-//         log.info("here2");
-//
-//         //Now should be able to commit them
-//
-//         sess.commit();
-//
-//         //Now check there are no more messages there
-//         sess.close();
-//
-//         sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-//
-//         cons = sess.createConsumer(queue[1]);
-//
-//         Message m = cons.receive(500);
-//
-//         assertNull(m);
-//
-//         log.info("got to end of test");
-//      }
-//      finally
-//      {
-//         if (conn != null)
-//         {
-//            try
-//            {
-//               conn.close();
-//            }
-//            catch (Exception e)
-//            {
-//               e.printStackTrace();
-//            }
-//         }
-//
-//         if (killed)
-//         {
-//            ServerManagement.spawn(1);
-//         }
-//      }
-//
-//   }
+   public void testFailoverWithUnackedMessagesTransactional() throws Exception
+   {
+      JBossConnectionFactory factory =  (JBossConnectionFactory )ic[0].lookup("/ConnectionFactory");
+
+      ClusteredClientConnectionFactoryDelegate delegate =
+         (ClusteredClientConnectionFactoryDelegate)factory.getDelegate();
+
+      Set nodeIDView = ServerManagement.getServer(0).getNodeIDView();
+      assertEquals(3, nodeIDView.size());
+
+      ClientConnectionFactoryDelegate[] delegates = delegate.getDelegates();
+
+      ClientConnectionFactoryDelegate cf1 = delegates[0];
+
+      ClientConnectionFactoryDelegate cf2 = delegates[1];
+
+      ClientConnectionFactoryDelegate cf3 = delegates[2];
+
+      int server0Id = cf1.getServerID();
+
+      int server1Id = cf2.getServerID();
+
+      int server2Id = cf3.getServerID();
+
+      log.info("server 0 id: " + server0Id);
+
+      log.info("server 1 id: " + server1Id);
+
+      log.info("server 2 id: " + server2Id);
+
+      Map failoverMap = delegate.getFailoverMap();
+
+      log.info(failoverMap.get(new Integer(server0Id)));
+      log.info(failoverMap.get(new Integer(server1Id)));
+      log.info(failoverMap.get(new Integer(server2Id)));
+
+      int server1FailoverId = ((Integer)failoverMap.get(new Integer(server1Id))).intValue();
+
+      // server 1 should failover onto server 2
+
+      assertEquals(server2Id, server1FailoverId);
+
+      Connection conn = null;
+
+      boolean killed = false;
+
+      try
+      {
+         //Get a connection on server 1
+         conn = factory.createConnection(); //connection on server 0
+
+         conn.close();
+
+         conn = factory.createConnection(); //connection on server 1
+
+         JBossConnection jbc = (JBossConnection)conn;
+
+         ClientConnectionDelegate del = (ClientConnectionDelegate)jbc.getDelegate();
+
+         ConnectionState state = (ConnectionState)del.getState();
+
+         int initialServerID = state.getServerID();
+
+         assertEquals(1, initialServerID);
+
+         Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
+
+         MessageProducer prod = sess.createProducer(queue[1]);
+
+         MessageConsumer cons = sess.createConsumer(queue[1]);
+
+         final int NUM_MESSAGES = 100;
+
+         for (int i = 0; i < NUM_MESSAGES; i++)
+         {
+            TextMessage tm = sess.createTextMessage("message:" + i);
+
+            prod.send(tm);
+         }
+
+         sess.commit();
+
+         conn.start();
+
+         //Now consume half of the messages but don't commit them these will end up in
+         //client side resource manager
+
+         for (int i = 0; i < NUM_MESSAGES / 2; i++)
+         {
+            TextMessage tm = (TextMessage)cons.receive(500);
+
+            assertNotNull(tm);
+
+            assertEquals("message:" + i, tm.getText());
+         }
+
+         //So now, messages should be in queue[1] on server 1
+         //So we now kill server 1
+         //Which should cause transparent failover of connection conn onto server 1
+
+         log.info("######");
+         log.info("###### KILLING (CRASHING) SERVER 1");
+         log.info("######");
+
+         ServerManagement.kill(1);
+
+         killed = true;
+
+         log.info("killed server, now waiting");
+
+         Thread.sleep(5000);
+
+         log.info("done wait");
+
+         state = (ConnectionState)del.getState();
+
+         int finalServerID = state.getServerID();
+
+         log.info("final server id= " + finalServerID);
+
+         //server id should now be 2
+
+         assertEquals(2, finalServerID);
+
+         conn.start();
+
+         //Now should be able to consume the rest of the messages
+
+         log.info("here1");
+
+         TextMessage tm = null;
+
+         for (int i = NUM_MESSAGES / 2; i < NUM_MESSAGES; i++)
+         {
+            tm = (TextMessage)cons.receive(500);
+
+            log.info("message is " + tm.getText());
+
+            assertNotNull(tm);
+
+            assertEquals("message:" + i, tm.getText());
+         }
+
+         log.info("here2");
+
+         //Now should be able to commit them
+
+         sess.commit();
+
+         //Now check there are no more messages there
+         sess.close();
+
+         sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         cons = sess.createConsumer(queue[1]);
+
+         Message m = cons.receive(500);
+
+         assertNull(m);
+
+         log.info("got to end of test");
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            try
+            {
+               conn.close();
+            }
+            catch (Exception e)
+            {
+               e.printStackTrace();
+            }
+         }
+
+         if (killed)
+         {
+            ServerManagement.start(1, "all");
+         }
+      }
+
+   }
    
    
 // public void testConnectionFactoryConnect() throws Exception

Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java	2006-12-15 08:59:37 UTC (rev 1798)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java	2006-12-15 12:52:36 UTC (rev 1799)
@@ -458,7 +458,6 @@
       {
          log.info("shutting down the VM");
 
-
          try
          {
             // unregister myself from the RMI registry
@@ -467,11 +466,11 @@
 
             String name = RMI_SERVER_PREFIX + server.getServerID();
             registry.unbind(name);
-            log.info("unregistred " + name + " from registry");
+            log.info("unregistered " + name + " from registry");
 
             name = NAMING_SERVER_PREFIX + server.getServerID();
             registry.unbind(name);
-            log.info("unregistred " + name + " from registry");
+            log.info("unregistered " + name + " from registry");
          }
          catch(Exception e)
          {

Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/Server.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/Server.java	2006-12-15 08:59:37 UTC (rev 1798)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/Server.java	2006-12-15 12:52:36 UTC (rev 1799)
@@ -22,11 +22,13 @@
 package org.jboss.test.messaging.tools.jmx.rmi;
 
 import java.rmi.Remote;
+import java.util.List;
 import java.util.Set;
-import java.util.List;
+
+import javax.management.NotificationListener;
 import javax.management.ObjectName;
-import javax.management.NotificationListener;
 import javax.transaction.UserTransaction;
+
 import org.jboss.jms.server.DestinationManager;
 import org.jboss.jms.server.ServerPeer;
 import org.jboss.messaging.core.plugin.contract.MessageStore;




More information about the jboss-cvs-commits mailing list