You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/12/06 18:07:29 UTC

svn commit: r1211029 - /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Author: rmannibucau
Date: Tue Dec  6 17:07:28 2011
New Revision: 1211029

URL: http://svn.apache.org/viewvc?rev=1211029&view=rev
Log:
small fix when removing extended persistence contexts from Comp bean for concurrent access (which could happen in unit test for instance)

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1211029&r1=1211028&r2=1211029&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Tue Dec  6 17:07:28 2011
@@ -217,6 +217,7 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Locale;
@@ -2367,9 +2368,10 @@ public class AnnotationDeployer implemen
 
         private void removeExtendedPersistenceContext(JndiConsumer consumer) {
             Map<String,PersistenceContextRef> map = consumer.getPersistenceContextRefMap();
-            for (Map.Entry<String, PersistenceContextRef> pc : map.entrySet()) {
-                if (PersistenceContextType.EXTENDED.equals(pc.getValue().getPersistenceContextType())) {
-                    map.remove(pc.getKey());
+            Set<String> keys = new HashSet<String>(map.keySet());
+            for (String key : keys) {
+                if (PersistenceContextType.EXTENDED.equals(map.get(key).getPersistenceContextType())) {
+                    map.remove(key);
                 }
             }
         }