Author: hthomann
Date: Fri Apr  1 15:03:05 2016
New Revision: 1737410

URL: http://svn.apache.org/viewvc?rev=1737410&view=rev
Log:
OPENJPA-2636: Updated a Map in Configurations to avoid a ClassLoader leak.

Modified:
    
openjpa/branches/2.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java

Modified: 
openjpa/branches/2.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java
URL: 
http://svn.apache.org/viewvc/openjpa/branches/2.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java?rev=1737410&r1=1737409&r2=1737410&view=diff
==============================================================================
--- 
openjpa/branches/2.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java
 (original)
+++ 
openjpa/branches/2.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java
 Fri Apr  1 15:03:05 2016
@@ -203,7 +203,9 @@ public class Configurations {
             Object key = loader == null ? NULL_LOADER : loader;
             Map loaderCache = (Map) _loaders.get(key);
             if (loaderCache == null) { // We don't have a cache for this 
loader.
-                loaderCache = new ConcurrentHashMap();
+                //OPENJPA-2636: Changed to HARD/WEAK to avoid Classloader leak:
+                loaderCache = new 
ConcurrentReferenceHashMap(ConcurrentReferenceHashMap.HARD, 
+                    ConcurrentReferenceHashMap.WEAK);
                 _loaders.put(key, loaderCache);
             } else {  // We have a cache for this loader.
                 cls = (Class) loaderCache.get(clsName);


Reply via email to