[jboss-cvs] JBoss Messaging SVN: r6599 - in trunk: tests/src/org/jboss/messaging/tests/integration/cluster/failover and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 28 09:59:19 EDT 2009


Author: timfox
Date: 2009-04-28 09:59:19 -0400 (Tue, 28 Apr 2009)
New Revision: 6599

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java
   trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java
Log:
fixed test

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java	2009-04-28 13:47:57 UTC (rev 6598)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java	2009-04-28 13:59:19 UTC (rev 6599)
@@ -1261,6 +1261,8 @@
 
       private void doExecuteOutstandingDelayedResults()
       {
+         log.info("execute outstanding results");
+         
          List<Runnable> toRun = new ArrayList<Runnable>();
          
          synchronized (replicationLock)
@@ -1283,14 +1285,15 @@
 
             responseActionCount = 0;
 
-            this.playedResponsesOnFailure = true;
+            playedResponsesOnFailure = true;
+            
+            for (Runnable action: toRun)
+            {
+               action.run();
+            }
          }
          
-         //Run outside lock
-         for (Runnable action: toRun)
-         {
-            action.run();
-         }
+         
       }
 
       public void setHandler(final ChannelHandler handler)

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java	2009-04-28 13:47:57 UTC (rev 6598)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java	2009-04-28 13:59:19 UTC (rev 6599)
@@ -24,7 +24,6 @@
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Set;
 
 import org.jboss.messaging.core.client.ClientConsumer;
 import org.jboss.messaging.core.client.ClientMessage;
@@ -37,7 +36,6 @@
 import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.RemotingConnection;
 import org.jboss.messaging.core.remoting.impl.invm.InVMRegistry;
 import org.jboss.messaging.core.remoting.impl.invm.TransportConstants;
 import org.jboss.messaging.core.server.Messaging;
@@ -82,135 +80,142 @@
 
    public void testFailBackup() throws Exception
    {
-      ClientSessionFactoryInternal sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"),
-                                                                      new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory",
-                                                                                                 backupParams));
+      for (int j = 0; j < 5; j++)
+      {
+         ClientSessionFactoryInternal sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"),
+                                                                         new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory",
+                                                                                                    backupParams));
 
-      sf1.setProducerWindowSize(32 * 1024);
+         sf1.setProducerWindowSize(32 * 1024);
 
-      ClientSession session1 = sf1.createSession(false, true, true);
+         ClientSession session1 = sf1.createSession(false, true, true);
 
-      session1.createQueue(ADDRESS, ADDRESS, null, false);
+         session1.createQueue(ADDRESS, ADDRESS, null, false);
 
-      ClientProducer producer = session1.createProducer(ADDRESS);
+         ClientProducer producer = session1.createProducer(ADDRESS);
 
-      final int numMessages = 1000;
+         final int numMessages = 1000;
 
-      for (int i = 0; i < numMessages; i++)
-      {
-         ClientMessage message = session1.createClientMessage(JBossTextMessage.TYPE,
-                                                              false,
-                                                              0,
-                                                              System.currentTimeMillis(),
-                                                              (byte)1);
-         message.putIntProperty(new SimpleString("count"), i);
-         message.getBody().writeString("aardvarks");
-         producer.send(message);
-      }
+         for (int i = 0; i < numMessages; i++)
+         {
+            ClientMessage message = session1.createClientMessage(JBossTextMessage.TYPE,
+                                                                 false,
+                                                                 0,
+                                                                 System.currentTimeMillis(),
+                                                                 (byte)1);
+            message.putIntProperty(new SimpleString("count"), i);
+            message.getBody().writeString("aardvarks");
+            producer.send(message);
+         }
 
-      ClientConsumer consumer1 = session1.createConsumer(ADDRESS);
+         ClientConsumer consumer1 = session1.createConsumer(ADDRESS);
 
-      session1.start();
+         session1.start();
 
-      for (int i = 0; i < numMessages; i++)
-      {
+         for (int i = 0; i < numMessages; i++)
+         {
+            ClientMessage message = consumer1.receive(1000);
+
+            assertNotNull(message);
+
+            assertEquals("aardvarks", message.getBody().readString());
+            
+            int count = (Integer)message.getProperty(new SimpleString("count"));
+            
+            assertEquals(i, count);
+                        
+            if (i == 0)
+            {
+               // Fail the replicating connection - this simulates the backup server crashing
+
+               liveServer.getReplicatingChannel()
+                         .getConnection()
+                         .fail(new MessagingException(MessagingException.NOT_CONNECTED, "blah"));
+            }
+
+            message.acknowledge();
+         }
+
          ClientMessage message = consumer1.receive(1000);
 
-         assertNotNull(message);
+         assertNull(message);
 
-         assertEquals("aardvarks", message.getBody().readString());
+         // Send some more
 
-         assertEquals(i, message.getProperty(new SimpleString("count")));
-
-         if (i == 0)
+         for (int i = 0; i < numMessages; i++)
          {
-            // Fail the replicating connection - this simulates the backup server crashing
-            
-            liveServer.getReplicatingChannel().getConnection().fail(new MessagingException(MessagingException.NOT_CONNECTED, "blah"));
+            message = session1.createClientMessage(JBossTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte)1);
+            message.putIntProperty(new SimpleString("count"), i);
+            message.getBody().writeString("aardvarks");
+            producer.send(message);
          }
 
-         message.acknowledge();
-      }
+         for (int i = 0; i < numMessages; i++)
+         {
+            message = consumer1.receive(1000);
 
-      ClientMessage message = consumer1.receive(1000);
+            assertNotNull(message);
 
-      assertNull(message);
+            assertEquals("aardvarks", message.getBody().readString());
 
-      // Send some more
+            assertEquals(i, message.getProperty(new SimpleString("count")));
 
-      for (int i = 0; i < numMessages; i++)
-      {
-         message = session1.createClientMessage(JBossTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte)1);
-         message.putIntProperty(new SimpleString("count"), i);
-         message.getBody().writeString("aardvarks");
-         producer.send(message);
-      }
+            message.acknowledge();
+         }
 
-      for (int i = 0; i < numMessages; i++)
-      {
          message = consumer1.receive(1000);
 
-         assertNotNull(message);
+         assertNull(message);
 
-         assertEquals("aardvarks", message.getBody().readString());
+         session1.close();
 
-         assertEquals(i, message.getProperty(new SimpleString("count")));
+         // Send some more on different session factory
 
-         message.acknowledge();
-      }
+         sf1.close();
 
-      message = consumer1.receive(1000);
+         sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
 
-      assertNull(message);
+         sf1.setProducerWindowSize(32 * 1024);
 
-      session1.close();
-      
-      //Send some more on different session factory
-      
-      sf1.close();
-      
-      sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
+         session1 = sf1.createSession(false, true, true);
 
-      sf1.setProducerWindowSize(32 * 1024);
+         producer = session1.createProducer(ADDRESS);
 
-      session1 = sf1.createSession(false, true, true);
+         consumer1 = session1.createConsumer(ADDRESS);
 
-      producer = session1.createProducer(ADDRESS);
-      
-      consumer1 = session1.createConsumer(ADDRESS);
+         session1.start();
 
-      session1.start();
+         for (int i = 0; i < numMessages; i++)
+         {
+            message = session1.createClientMessage(JBossTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte)1);
+            message.putIntProperty(new SimpleString("count"), i);
+            message.getBody().writeString("aardvarks");
+            producer.send(message);
+         }
 
-      for (int i = 0; i < numMessages; i++)
-      {
-         message = session1.createClientMessage(JBossTextMessage.TYPE,
-                                                              false,
-                                                              0,
-                                                              System.currentTimeMillis(),
-                                                              (byte)1);
-         message.putIntProperty(new SimpleString("count"), i);
-         message.getBody().writeString("aardvarks");
-         producer.send(message);
-      }
-      
-      for (int i = 0; i < numMessages; i++)
-      {
-         message = consumer1.receive(1000);
+         for (int i = 0; i < numMessages; i++)
+         {
+            message = consumer1.receive(1000);
 
-         assertNotNull(message);
+            assertNotNull(message);
 
-         assertEquals("aardvarks", message.getBody().readString());
+            assertEquals("aardvarks", message.getBody().readString());
 
-         assertEquals(i, message.getProperty(new SimpleString("count")));
+            assertEquals(i, message.getProperty(new SimpleString("count")));
 
-         message.acknowledge();
-      }
+            message.acknowledge();
+         }
 
-      message = consumer1.receive(1000);
+         message = consumer1.receive(1000);
 
-      assertNull(message);
+         assertNull(message);
 
-      session1.close();
+         session1.close();
+         
+         tearDown();
+         
+         setUp();
+      }
    }
 
    // Package protected ---------------------------------------------
@@ -221,7 +226,7 @@
    protected void setUp() throws Exception
    {
       super.setUp();
-      
+
       Configuration backupConf = new ConfigurationImpl();
       backupConf.setSecurityEnabled(false);
       backupParams.put(TransportConstants.SERVER_ID_PROP_NAME, 1);
@@ -238,7 +243,8 @@
               .add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory"));
       Map<String, TransportConfiguration> connectors = new HashMap<String, TransportConfiguration>();
       TransportConfiguration backupTC = new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory",
-                                                                   backupParams, "backup-connector");
+                                                                   backupParams,
+                                                                   "backup-connector");
       connectors.put(backupTC.getName(), backupTC);
       liveConf.setConnectorConfigurations(connectors);
       liveConf.setBackupConnectorName(backupTC.getName());
@@ -254,7 +260,7 @@
       liveServer.stop();
 
       assertEquals(0, InVMRegistry.instance.size());
-      
+
       super.tearDown();
    }
 




More information about the jboss-cvs-commits mailing list