[jboss-cvs] JBoss Messaging SVN: r2428 - trunk/tests/src/org/jboss/test/messaging/jms/clustering.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Feb 25 15:26:14 EST 2007


Author: clebert.suconic at jboss.com
Date: 2007-02-25 15:26:14 -0500 (Sun, 25 Feb 2007)
New Revision: 2428

Modified:
   trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java
Log:
Fixing test after removal of failedOverQueues

Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java	2007-02-25 10:26:59 UTC (rev 2427)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java	2007-02-25 20:26:14 UTC (rev 2428)
@@ -29,6 +29,8 @@
 import org.jboss.test.messaging.tools.aop.PoisonInterceptor;
 import org.jboss.test.messaging.tools.jmx.ServiceContainer;
 import org.jboss.test.messaging.tools.jndi.InVMInitialContextFactory;
+import java.util.ArrayList;
+import java.util.HashSet;
 
 /**
  * 
@@ -451,10 +453,7 @@
       
       XAConnectionFactory xaCF = (XAConnectionFactory)cf;
       
-      Connection conn0 = null;
-      
-      Connection conn1 = null;
-      
+
       try
       {
          xaConn0 = xaCF.createXAConnection();
@@ -465,14 +464,47 @@
          
          assertEquals(1, ((JBossConnection)xaConn1).getServerID());
 
-         conn0 = cf.createConnection();
-         
-         assertEquals(0, ((JBossConnection)conn0).getServerID());
-                           
-         conn1 = cf.createConnection();         
-         
-         assertEquals(1, ((JBossConnection)conn1).getServerID());
-         
+         TextMessage sent0 = null;
+
+         TextMessage sent1 = null;
+
+         // Sending two messages.. on each server
+         {
+            Connection conn0 = null;
+
+            Connection conn1 = null;
+
+            conn0 = cf.createConnection();
+
+            assertEquals(0, ((JBossConnection)conn0).getServerID());
+
+            conn1 = cf.createConnection();
+
+            assertEquals(1, ((JBossConnection)conn1).getServerID());
+
+            //Send a message to each queue
+
+            Session sess = conn0.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+            MessageProducer prod = sess.createProducer(queue[0]);
+
+            sent0 = sess.createTextMessage("plop0");
+
+            prod.send(sent0);
+
+            sess.close();
+
+            sess = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+            prod = sess.createProducer(queue[1]);
+
+            sent1 = sess.createTextMessage("plop1");
+
+            prod.send(sent1);
+
+            sess.close();
+         }
+
          xaConn0.start();
          
          xaConn1.start();
@@ -482,31 +514,6 @@
          SimpleFailoverListener failoverListener = new SimpleFailoverListener();
          ((JBossConnection)xaConn1).registerFailoverListener(failoverListener);
          
-         //Send a message to each queue
-         
-         Session sess = conn0.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         MessageProducer prod = sess.createProducer(queue[0]);
-         
-         TextMessage sent0 = sess.createTextMessage("plop0");
-         
-         prod.send(sent0);
-         
-         sess.close();
-         
-         sess = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         prod = sess.createProducer(queue[1]);
-         
-         TextMessage sent1 = sess.createTextMessage("plop1");
-         
-         prod.send(sent1);
-         
-         sess.close();
-         
-         
-         
-         
          XASession sess0 = xaConn0.createXASession();
          
          XAResource res0 = sess0.getXAResource();
@@ -603,44 +610,59 @@
          cons1.close();
          
          // Message should now be receivable
-         
-         conn0.start();
-         
-         Session sessRec0 = conn0.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         cons0 = sessRec0.createConsumer(queue[0]);
-         
-         TextMessage mrec = (TextMessage)cons0.receive(2000);
-         
-         assertNotNull(mrec);
-         
-         assertEquals(msg0.getText(), mrec.getText());
-         
-         Message m = cons0.receive(2000);
-         
-         //And the other message should be acked
-         assertNull(m);                
-         
-         
-         conn1.start();
-                  
-         Session sessRec1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         cons1 = sessRec1.createConsumer(queue[0]);
-         
-         mrec = (TextMessage)cons1.receive(2000);
-         
-         assertNotNull(mrec);
-         
-         assertEquals(msg1.getText(), mrec.getText());
-         
-         m = cons1.receive(2000);
-         
-         //And the other message should be acked
-         assertNull(m);   
-         
-         assertEquals(0, ((JBossConnection)xaConn1).getServerID());
 
+         Connection conn = null;
+         try
+         {
+            conn = cf.createConnection();
+
+            conn.start();
+
+            Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+            MessageConsumer cons = session.createConsumer(queue[0]);
+
+            HashSet receivedMessages = new HashSet();
+
+            int numberOfReceivedMessages = 0;
+
+            while(true)
+            {
+               TextMessage message = (TextMessage)cons.receive(2000);
+               if (message == null)
+               {
+                  break;
+               }
+               log.info("Message = (" + message.getText() + ")");
+               receivedMessages.add(message.getText());
+               numberOfReceivedMessages++;
+            }
+
+
+            assertFalse("\"plop0\" message was duplicated",
+               receivedMessages.contains("plop0"));
+
+            assertFalse("\"plop1\" message was duplicated",
+               receivedMessages.contains("plop0"));
+
+            assertTrue("\"Cupid stunt0\" message wasn't received",
+               receivedMessages.contains("Cupid stunt0"));
+
+            assertTrue("\"Cupid stunt1\" message wasn't received",
+               receivedMessages.contains("Cupid stunt1"));
+
+            assertEquals(2, numberOfReceivedMessages);
+
+            assertEquals(0, ((JBossConnection)xaConn1).getServerID());
+         }
+         finally
+         {
+            if (conn != null)
+            {
+               conn.close();
+            }
+         }
+
       }
       finally
       {
@@ -648,14 +670,10 @@
          {
             xaConn1.close();
          }
-         if (conn0 != null)
+         if (xaConn0 != null)
          {
-            conn0.close();
+            xaConn0.close();
          }
-         if (conn1 != null)
-         {
-            conn1.close();
-         }
       }
    }
    
@@ -670,10 +688,48 @@
       
       XAConnectionFactory xaCF = (XAConnectionFactory)cf;
       
-      Connection conn0 = null;
-      
-      Connection conn1 = null;
-      
+      TextMessage sent0 = null;
+
+      TextMessage sent1 = null;
+
+      // Sending two messages.. on each server
+      {
+         Connection conn0 = null;
+
+         Connection conn1 = null;
+
+         conn0 = cf.createConnection();
+
+         assertEquals(0, ((JBossConnection)conn0).getServerID());
+
+         conn1 = cf.createConnection();
+
+         assertEquals(1, ((JBossConnection)conn1).getServerID());
+
+         //Send a message to each queue
+
+         Session sess = conn0.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer prod = sess.createProducer(queue[0]);
+
+         sent0 = sess.createTextMessage("plop0");
+
+         prod.send(sent0);
+
+         sess.close();
+
+         sess = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         prod = sess.createProducer(queue[1]);
+
+         sent1 = sess.createTextMessage("plop1");
+
+         prod.send(sent1);
+
+         sess.close();
+      }
+
+
       try
       {
          xaConn0 = xaCF.createXAConnection();
@@ -684,14 +740,6 @@
          
          assertEquals(1, ((JBossConnection)xaConn1).getServerID());
 
-         conn0 = cf.createConnection();
-         
-         assertEquals(0, ((JBossConnection)conn0).getServerID());
-                           
-         conn1 = cf.createConnection();         
-         
-         assertEquals(1, ((JBossConnection)conn1).getServerID());
-         
          xaConn0.start();
          
          xaConn1.start();
@@ -701,31 +749,7 @@
          SimpleFailoverListener failoverListener = new SimpleFailoverListener();
          ((JBossConnection)xaConn1).registerFailoverListener(failoverListener);
          
-         //Send a message to each queue
          
-         Session sess = conn0.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         MessageProducer prod = sess.createProducer(queue[0]);
-         
-         TextMessage sent0 = sess.createTextMessage("plop0");
-         
-         prod.send(sent0);
-         
-         sess.close();
-         
-         sess = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         prod = sess.createProducer(queue[1]);
-         
-         TextMessage sent1 = sess.createTextMessage("plop1");
-         
-         prod.send(sent1);
-         
-         sess.close();
-         
-         
-         
-         
          XASession sess0 = xaConn0.createXASession();
          
          XAResource res0 = sess0.getXAResource();
@@ -827,42 +851,60 @@
                            
 
          // Message should now be receivable
+         Connection conn = null;
+         try
+         {
+            conn = cf.createConnection();
+
+            conn.start();
+
+            Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+            MessageConsumer cons = session.createConsumer(queue[0]);
+
+            HashSet receivedMessages = new HashSet();
+
+            int numberOfReceivedMessages = 0;
+
+            while(true)
+            {
+               TextMessage message = (TextMessage)cons.receive(2000);
+               if (message == null)
+               {
+                  break;
+               }
+               log.info("Message = (" + message.getText() + ")");
+               receivedMessages.add(message.getText());
+               numberOfReceivedMessages++;
+            }
+
+
+            assertFalse("\"plop0\" message was duplicated",
+               receivedMessages.contains("plop0"));
+
+            assertFalse("\"plop1\" message was duplicated",
+               receivedMessages.contains("plop0"));
+
+            assertTrue("\"Cupid stunt0\" message wasn't received",
+               receivedMessages.contains("Cupid stunt0"));
+
+            assertTrue("\"Cupid stunt1\" message wasn't received",
+               receivedMessages.contains("Cupid stunt1"));
+
+            assertEquals(2, numberOfReceivedMessages);
+
+            assertEquals(0, ((JBossConnection)xaConn1).getServerID());
+         }
+         finally
+         {
+            if (conn != null)
+            {
+               conn.close();
+            }
+         }
+
          
-         conn0.start();
          
-         Session sessRec0 = conn0.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         cons0 = sessRec0.createConsumer(queue[0]);
-         
-         TextMessage mrec = (TextMessage)cons0.receive(2000);
-         
-         assertNotNull(mrec);
-         
-         assertEquals(msg0.getText(), mrec.getText());
-         
-         Message m = cons0.receive(2000);
-         
-         //And the other message should be acked
-         assertNull(m);                
-         
-         
-         conn1.start();
-                  
-         Session sessRec1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
-         cons1 = sessRec1.createConsumer(queue[0]);
-         
-         mrec = (TextMessage)cons1.receive(2000);
-         
-         assertNotNull(mrec);
-         
-         assertEquals(msg1.getText(), mrec.getText());
-         
-         m = cons1.receive(2000);
-         
-         //And the other message should be acked
-         assertNull(m);   
-         
          assertEquals(0, ((JBossConnection)xaConn1).getServerID());
 
       }
@@ -872,14 +914,10 @@
          {
             xaConn1.close();
          }
-         if (conn0 != null)
+         if (xaConn0 != null)
          {
-            conn0.close();
+            xaConn0.close();
          }
-         if (conn1 != null)
-         {
-            conn1.close();
-         }
       }
    }
    




More information about the jboss-cvs-commits mailing list