You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2010/05/31 18:12:07 UTC

svn commit: r949789 - /activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java

Author: gtully
Date: Mon May 31 16:12:06 2010
New Revision: 949789

URL: http://svn.apache.org/viewvc?rev=949789&view=rev
Log:
resolve regression in FailoverTransactionTest following change to fix resolve https://issues.apache.org/activemq/browse/AMQ-2751, fix needs to be conditional on delayed delivery otherwise it can effect async transacted redelivery on failover 

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java?rev=949789&r1=949788&r2=949789&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java Mon May 31 16:12:06 2010
@@ -1232,7 +1232,10 @@ public class ActiveMQMessageConsumer imp
                                 }
                             }
                         } else {
-                            session.connection.rollbackDuplicate(this, md.getMessage());
+                            if (!unconsumedMessages.isRunning()) {
+                                // delayed redelivery, ensure it can be re delivered
+                                session.connection.rollbackDuplicate(this, md.getMessage());
+                            }
                             unconsumedMessages.enqueue(md);
                             if (availableListener != null) {
                                 availableListener.onMessageAvailable(this);