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:55 UTC
svn commit: r1532606 -
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java
Author: lu4242
Date: Wed Oct 16 00:06:54 2013
New Revision: 1532606
URL: http://svn.apache.org/r1532606
Log:
MYFACES-3792 ConcurrentModificationException in org.apache.myfaces.config.ManagedBeanDestroyer - when using TomcatAnnotationLifecycleProvider
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java?rev=1532606&r1=1532605&r2=1532606&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/ManagedBeanDestroyer.java Wed Oct 16 00:06:54 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);
+ }
}
}