Return-Path: Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: (qmail 86463 invoked from network); 7 Dec 2007 22:47:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Dec 2007 22:47:34 -0000 Received: (qmail 26092 invoked by uid 500); 7 Dec 2007 22:47:23 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 26060 invoked by uid 500); 7 Dec 2007 22:47:22 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 26051 invoked by uid 99); 7 Dec 2007 22:47:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Dec 2007 14:47:22 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Dec 2007 22:47:32 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 65C981A9832; Fri, 7 Dec 2007 14:47:11 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r602260 - /activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryTopicSub.java Date: Fri, 07 Dec 2007 22:47:11 -0000 To: commits@activemq.apache.org From: rajdavies@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071207224711.65C981A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rajdavies Date: Fri Dec 7 14:47:10 2007 New Revision: 602260 URL: http://svn.apache.org/viewvc?rev=602260&view=rev Log: Added synchronization to prevent concurrent modification Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryTopicSub.java Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryTopicSub.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryTopicSub.java?rev=602260&r1=602259&r2=602260&view=diff ============================================================================== --- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryTopicSub.java (original) +++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryTopicSub.java Fri Dec 7 14:47:10 2007 @@ -38,7 +38,7 @@ map.put(id, message); } - void removeMessage(MessageId id) { + synchronized void removeMessage(MessageId id) { map.remove(id); if (map.isEmpty()) { lastBatch = null; @@ -49,7 +49,7 @@ return map.size(); } - void recoverSubscription(MessageRecoveryListener listener) throws Exception { + synchronized void recoverSubscription(MessageRecoveryListener listener) throws Exception { for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) { Map.Entry entry = (Entry)iter.next(); Object msg = entry.getValue(); @@ -61,7 +61,7 @@ } } - void recoverNextMessages(int maxReturned, MessageRecoveryListener listener) throws Exception { + synchronized void recoverNextMessages(int maxReturned, MessageRecoveryListener listener) throws Exception { boolean pastLackBatch = lastBatch == null; MessageId lastId = null; // the message table is a synchronizedMap - so just have to synchronize @@ -88,7 +88,7 @@ } - void resetBatching() { + synchronized void resetBatching() { lastBatch = null; } }