You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2009/02/10 09:07:18 UTC
svn commit: r742876 -
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
Author: rajdavies
Date: Tue Feb 10 08:07:16 2009
New Revision: 742876
URL: http://svn.apache.org/viewvc?rev=742876&view=rev
Log:
Fix for https://issues.apache.org/activemq/browse/AMQ-2100
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=742876&r1=742875&r2=742876&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 Tue Feb 10 08:07:16 2009
@@ -16,6 +16,7 @@
*/
package org.apache.activemq;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
@@ -685,9 +686,14 @@
if (session.isClientAcknowledge()) {
if (!this.info.isBrowser()) {
// rollback duplicates that aren't acknowledged
- for (MessageDispatch old : deliveredMessages) {
- session.connection.rollbackDuplicate(this, old.getMessage());
+ List<MessageDispatch> tmp = null;
+ synchronized (this.deliveredMessages) {
+ tmp = new ArrayList<MessageDispatch>(this.deliveredMessages);
}
+ for (MessageDispatch old : tmp) {
+ this.session.connection.rollbackDuplicate(this, old.getMessage());
+ }
+ tmp.clear();
}
}
if (!session.isTransacted()) {