[hornetq-commits] JBoss hornetq SVN: r8142 - in trunk: tests/src/org/hornetq/tests/integration/cluster/failover and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Oct 26 05:04:16 EDT 2009


Author: jmesnil
Date: 2009-10-26 05:04:15 -0400 (Mon, 26 Oct 2009)
New Revision: 8142

Modified:
   trunk/src/main/org/hornetq/core/client/impl/ClientSessionImpl.java
   trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java
Log:
clear ClientConsumer when failover occurs

Modified: trunk/src/main/org/hornetq/core/client/impl/ClientSessionImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/ClientSessionImpl.java	2009-10-23 22:31:39 UTC (rev 8141)
+++ trunk/src/main/org/hornetq/core/client/impl/ClientSessionImpl.java	2009-10-26 09:04:15 UTC (rev 8142)
@@ -881,7 +881,6 @@
             if ((!autoCommitAcks || !autoCommitSends) && workDone)
             {
                // Session is transacted - set for rollback only
-
                // FIXME - there is a race condition here - a commit could sneak in before this is set
                rollbackOnly = true;
             }
@@ -891,6 +890,7 @@
             {
                for (ClientConsumerInternal consumer : consumers.values())
                {
+                  consumer.clearAtFailover();
                   consumer.start();
                }
 

Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java	2009-10-23 22:31:39 UTC (rev 8141)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java	2009-10-26 09:04:15 UTC (rev 8142)
@@ -271,6 +271,10 @@
 
       session.addFailureListener(new MyListener());
 
+      ClientConsumer consumer = session.createConsumer(ADDRESS);
+
+      session.start();
+
       ClientProducer producer = session.createProducer(ADDRESS);
 
       final int numMessages = 100;
@@ -294,10 +298,7 @@
 
       session.commit();
 
-      ClientConsumer consumer = session.createConsumer(ADDRESS);
 
-      session.start();
-
       for (int i = 0; i < numMessages; i++)
       {
          // Only the persistent messages will survive
@@ -316,6 +317,8 @@
          }
       }
 
+      assertNull(consumer.receive(1000));
+      
       session.commit();
 
       session.close();
@@ -488,6 +491,8 @@
 
       session2.commit();
 
+      assertNull(consumer.receive(1000));
+      
       session1.close();
 
       session2.close();



More information about the hornetq-commits mailing list