[jboss-cvs] JBoss Messaging SVN: r8319 - branches/Branch_1_4/src/main/org/jboss/messaging/core/impl.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jun 7 22:02:39 EDT 2011
Author: gaohoward
Date: 2011-06-07 22:02:38 -0400 (Tue, 07 Jun 2011)
New Revision: 8319
Modified:
branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/MessagingQueue.java
Log:
JBMESSAGING-1871
Modified: branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/MessagingQueue.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/MessagingQueue.java 2011-05-31 08:28:35 UTC (rev 8318)
+++ branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/MessagingQueue.java 2011-06-08 02:02:38 UTC (rev 8319)
@@ -336,30 +336,40 @@
// TODO this can be optimised - remove any remaining deliveries for the session id
//these correspond to messages buffered on the client side for that client and should go back on the queue
- Iterator iter = recoveryMap.values().iterator();
+ List toCancel = new ArrayList();
+
+ //https://issues.jboss.org/browse/JBMESSAGING-1871
+ synchronized (recoveryMap)
+ {
+ Iterator iter = recoveryMap.values().iterator();
+
+ if (trace)
+ {
+ log.trace("Scanning recovery map for stray entries for session");
+ }
+
+ while (iter.hasNext())
+ {
+ RecoveryEntry re = (RecoveryEntry)iter.next();
+
+ if (trace)
+ {
+ log.trace("Session id id " + re.sessionID);
+ }
+
+ if (re.sessionID.equals(sessionID))
+ {
+ MessageReference ref = re.ref;
+
+ iter.remove();
+
+ // Put back on queue
+
+ toCancel.add(ref);
+ }
+ }
+ }
- if (trace) { log.trace("Scanning recovery map for stray entries for session"); }
-
- List toCancel = new ArrayList();
-
- while (iter.hasNext())
- {
- RecoveryEntry re = (RecoveryEntry)iter.next();
-
- if (trace) { log.trace("Session id id " + re.sessionID); }
-
- if (re.sessionID.equals(sessionID))
- {
- MessageReference ref = re.ref;
-
- iter.remove();
-
- //Put back on queue
-
- toCancel.add(ref);
- }
- }
-
for (int i = toCancel.size() - 1; i >= 0; i--)
{
MessageReference ref = (MessageReference)toCancel.get(i);
More information about the jboss-cvs-commits
mailing list