[jboss-cvs] JBossAS SVN: r107100 - in projects/jboss-cl/trunk: classloading/src/main/java/org/jboss/classloading/spi/dependency/policy and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jul 27 04:29:22 EDT 2010
Author: alesj
Date: 2010-07-27 04:29:21 -0400 (Tue, 27 Jul 2010)
New Revision: 107100
Modified:
projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/helpers/AbstractClassLoaderCache.java
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/policy/ClassLoaderPolicyModule.java
Log:
Fix a few minor issues; bl flush, sooner cache reg.
Modified: projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/helpers/AbstractClassLoaderCache.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/helpers/AbstractClassLoaderCache.java 2010-07-27 06:22:50 UTC (rev 107099)
+++ projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/helpers/AbstractClassLoaderCache.java 2010-07-27 08:29:21 UTC (rev 107100)
@@ -106,31 +106,24 @@
else
resourceCache = new ConcurrentHashMap<String, URL>(other.resourceCache);
}
- // TODO - join black lists OK?
- if (other.classBlackList != null)
- {
- if (classBlackList != null)
- classBlackList.addAll(other.classBlackList);
- else
- classBlackList = new ConcurrentSet<String>(other.classBlackList);
- }
- if (other.resourceBlackList != null)
- {
- if (resourceBlackList != null)
- resourceBlackList.addAll(other.resourceBlackList);
- else
- resourceBlackList = new ConcurrentSet<String>(other.resourceBlackList);
- }
+
+ // previously bl resources can now become available - flush it
+ flushBlackLists();
}
public void flushCaches()
{
if (classCache != null)
classCache.clear();
- if (classBlackList != null)
- classBlackList.clear();
if (resourceCache != null)
resourceCache.clear();
+ flushBlackLists();
+ }
+
+ private void flushBlackLists()
+ {
+ if (classBlackList != null)
+ classBlackList.clear();
if (resourceBlackList != null)
resourceBlackList.clear();
}
Modified: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/policy/ClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/policy/ClassLoaderPolicyModule.java 2010-07-27 06:22:50 UTC (rev 107099)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/policy/ClassLoaderPolicyModule.java 2010-07-27 08:29:21 UTC (rev 107100)
@@ -142,10 +142,10 @@
String domainName = getDeterminedDomainName();
ParentPolicy parentPolicy = getDeterminedParentPolicy();
String parentName = getDeterminedParentDomainName();
+ registerCache(); // register cache before, to avoid potential race condition
ClassLoader result = system.registerClassLoaderPolicy(domainName, parentPolicy, parentName, getPolicy());
this.system = system;
this.classLoader = result;
- registerCache();
registerModuleClassLoader(this, result);
return result;
}
@@ -168,11 +168,7 @@
throw new IllegalStateException("Module " + this + " is not registered, see previous error messages");
Loader loader = new ClassLoaderToLoaderAdapter(parent);
- ClassLoader result = registerClassLoaderPolicy(system, loader);
- this.classLoader = result;
- registerCache();
- registerModuleClassLoader(this, result);
- return result;
+ return registerClassLoaderPolicy(system, loader);
}
/**
@@ -192,10 +188,10 @@
String domainName = getDeterminedDomainName();
ParentPolicy parentPolicy = getDeterminedParentPolicy();
+ registerCache(); // register cache before, to avoid potential race condition
ClassLoader result = system.registerClassLoaderPolicy(domainName, parentPolicy, loader, getPolicy());
this.system = system;
this.classLoader = result;
- registerCache();
registerModuleClassLoader(this, result);
return result;
}
More information about the jboss-cvs-commits
mailing list