Author: chirino
Date: Tue Mar 25 14:51:37 2008
New Revision: 641027

URL: http://svn.apache.org/viewvc?rev=641027&view=rev
Log:
Decrement the message reference when the messages are removed from the vm 
pending cursor.


Modified:
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java?rev=641027&r1=641026&r2=641027&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java
 Tue Mar 25 14:51:37 2008
@@ -41,9 +41,12 @@
     @Override
     public List<MessageReference> remove(ConnectionContext context, 
Destination destination) throws Exception {
         List<MessageReference> rc = new ArrayList<MessageReference>();
-        for (MessageReference r : list) {
+        for (Iterator<MessageReference> iterator = list.iterator(); 
iterator.hasNext();) {
+            MessageReference r = iterator.next();
             if( r.getRegionDestination()==destination ) {
+                r.decrementReferenceCount();
                 rc.add(r);
+                iterator.remove();
             }
         }
         return rc ;        


Reply via email to