diff --git a/activemq-core/src/main/java/org/apache/activemq/TransactionContext.java b/activemq-core/src/main/java/org/apache/activemq/TransactionContext.java index 2e18d0a70b..a4b6bab509 100755 --- a/activemq-core/src/main/java/org/apache/activemq/TransactionContext.java +++ b/activemq-core/src/main/java/org/apache/activemq/TransactionContext.java @@ -560,8 +560,10 @@ public class TransactionContext implements XAResource { if( l==null ) { l = new ArrayList(3); endedXATransactionContexts.put(transactionId, l); - } l.add(this); + } else if (!l.contains(this)) { + l.add(this); + } } // dis-associate