You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2013/10/16 02:06:28 UTC

svn commit: r1532605 - /myfaces/core/branches/2.1.x/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java

Author: lu4242
Date: Wed Oct 16 00:06:28 2013
New Revision: 1532605

URL: http://svn.apache.org/r1532605
Log:
MYFACES-3792 ConcurrentModificationException in org.apache.myfaces.config.ManagedBeanDestroyer - when using TomcatAnnotationLifecycleProvider

Modified:
    myfaces/core/branches/2.1.x/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java

Modified: myfaces/core/branches/2.1.x/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.1.x/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java?rev=1532605&r1=1532604&r2=1532605&view=diff
==============================================================================
--- myfaces/core/branches/2.1.x/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java (original)
+++ myfaces/core/branches/2.1.x/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java Wed Oct 16 00:06:28 2013
@@ -20,6 +20,7 @@ package org.apache.myfaces.config;
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.Map;
+import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -97,10 +98,16 @@ public class ManagedBeanDestroyer implem
             return;
         }
         
-        for (String key : scope.keySet())
+        if (!scope.isEmpty())
         {
-            Object value = scope.get(key);
-            this.destroy(key, value);
+            Set<String> keySet = scope.keySet();
+            String[] keys = keySet.toArray(new String[keySet.size()]);
+            
+            for (String key : keys)
+            {
+                Object value = scope.get(key);
+                this.destroy(key, value);
+            }
         }
     }