You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2013/05/15 14:44:13 UTC

svn commit: r1482794 - /activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java

Author: chirino
Date: Wed May 15 12:44:13 2013
New Revision: 1482794

URL: http://svn.apache.org/r1482794
Log:
Fixing regression in last commit.

Modified:
    activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java

Modified: activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java?rev=1482794&r1=1482793&r2=1482794&view=diff
==============================================================================
--- activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java (original)
+++ activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/Queue.java Wed May 15 12:44:13 2013
@@ -797,15 +797,24 @@ public class Queue extends BaseDestinati
             }
             // do the ordered work
             if (!orderedWork.isEmpty()) {
+
+                ArrayList<SendSync> syncs = new ArrayList<SendSync>(orderedWork.size());;
                 sendLock.lockInterruptibly();
+
                 try {
                     for (Transaction tx : orderedWork) {
-                        sendSyncs.get(tx).processSend();
+                        SendSync sync = sendSyncs.get(tx);
+                        sync.processSend();
+                        syncs.add(sync);
                         sendSyncs.remove(tx);
                     }
                 } finally {
                     sendLock.unlock();
                 }
+
+                for (SendSync sync : syncs) {
+                    sync.processSent();
+                }
             }
         }