You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2011/07/15 15:57:54 UTC

svn commit: r1147156 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java

Author: andygumbrecht
Date: Fri Jul 15 13:57:53 2011
New Revision: 1147156

URL: http://svn.apache.org/viewvc?rev=1147156&view=rev
Log:
Clone keys as dependent keys may be removed concurrently by the vm.

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java?rev=1147156&r1=1147155&r2=1147156&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java Fri Jul 15 13:57:53 2011
@@ -330,7 +330,8 @@ public class ClassLoaderUtil {
                 File file;
                 URL url;
 
-                for (final Object item : fileCache.keySet()) {
+                final Set keys = new HashSet(fileCache.keySet());
+                for (final Object item : keys) {
 
                     //Due to several different implementation changes in various JDK releases
                     //the 'item' can be one of the following (so far):
@@ -371,6 +372,7 @@ public class ClassLoaderUtil {
                         //unknown kind of url
                         return;
                     }
+
                     if (null != file && null != url && isParent(jarLocation, file)) {
                         urls.add(url);
                     }