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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 26 02:39:38 EST 2007


Author: clebert.suconic at jboss.com
Date: 2007-02-26 02:39:38 -0500 (Mon, 26 Feb 2007)
New Revision: 2438

Modified:
   trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
Log:
Adding tests for :
http://jira.jboss.org/jira/browse/JBMESSAGING-896
&
http://jira.jboss.org/jira/browse/JBMESSAGING-891

Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java	2007-02-26 06:47:01 UTC (rev 2437)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java	2007-02-26 07:39:38 UTC (rev 2438)
@@ -1746,6 +1746,41 @@
          }
       }
    }
+
+   public void testFailureOnClose() throws Exception
+   {
+      Connection conn1 = null;
+
+      try
+      {
+         conn1 = cf.createConnection();
+         
+         // Objects Server1
+         conn1 = cf.createConnection();
+
+         assertEquals(1, ((JBossConnection)conn1).getServerID());
+
+         JMSRemotingConnection rc = ((ClientConnectionDelegate)((JBossConnection)conn1).
+            getDelegate()).getRemotingConnection();
+         rc.removeConnectionListener();
+
+         Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageConsumer consumer = session1.createConsumer(queue[1]);
+
+         ServerManagement.killAndWait(1);
+
+         consumer.close();
+      }
+      finally
+      {
+         if (conn1!=null)
+         {
+            conn1.close();
+         }
+      }
+      
+   }
    
    public void testMergeQueue() throws Exception
    {
@@ -1846,8 +1881,117 @@
             conn1.close();
          }
       }
+   }
 
+   public void testMergeQueue2() throws Exception
+   {
+      Connection conn0 = null;
+      Connection conn1 = null;
 
+      int numberOfMessagesReceived = 0;
+
+      try
+      {
+
+         // Objects Server0
+         conn0 = cf.createConnection();
+
+         assertEquals(0, ((JBossConnection)conn0).getServerID());
+
+         Session session0 = conn0.createSession(true, Session.SESSION_TRANSACTED);
+
+         conn0.start();
+
+         MessageProducer producer0 = session0.createProducer(queue[0]);
+
+         producer0.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+         MessageConsumer consumer0 = session0.createConsumer(queue[0]);
+
+         for (int i=0; i<10; i++)
+         {
+            producer0.send(session0.createTextMessage("message " + i));
+         }
+
+         session0.commit();
+
+         TextMessage msg;
+
+         do
+         {
+            msg = (TextMessage)consumer0.receive(5000);
+            if (msg!=null)
+            {
+               log.info("msg = " + msg.getText());
+               numberOfMessagesReceived++;
+            }
+            if (numberOfMessagesReceived==5)
+            {
+               break;
+            }
+         } while (msg!=null);
+
+         session0.commit();
+         consumer0.close();
+
+
+         // Objects Server1
+         conn1 = cf.createConnection();
+
+         assertEquals(1, ((JBossConnection)conn1).getServerID());
+
+         conn1.start();
+
+         Session session1 = conn1.createSession(true, Session.SESSION_TRANSACTED);
+
+         MessageProducer producer1 = session1.createProducer(this.queue[1]);
+
+         producer1.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+         for (int i=10; i<20; i++)
+         {
+            producer1.send(session0.createTextMessage("message " + i));
+         }
+
+         session1.commit();
+
+         MessageConsumer consumer1 = session1.createConsumer(queue[0]);
+
+         ServerManagement.killAndWait(1);
+
+         TextMessage msgAfterKill = (TextMessage)consumer1.receive(1000);
+         assertNotNull(msgAfterKill);
+         session1.commit();
+         
+         consumer1.close();
+
+         consumer0 = session0.createConsumer(queue[0]);
+         do
+         {
+            msg = (TextMessage)consumer0.receive(5000);
+            if (msg!=null)
+            {
+               log.info("msg = " + msg.getText());
+               numberOfMessagesReceived++;
+            }
+         } while (msg!=null);
+
+         session0.commit();
+
+         assertEquals(19, numberOfMessagesReceived);
+      }
+      finally
+      {
+         if (conn0!=null)
+         {
+            conn0.close();
+         }
+
+         if (conn1!=null)
+         {
+            conn1.close();
+         }
+      }
    }
 
 




More information about the jboss-cvs-commits mailing list