Author: markt Date: Tue Feb 18 16:00:34 2014 New Revision: 1569398 URL: http://svn.apache.org/r1569398 Log: Make it easier for TomEE to modify the j2seClassLoader
Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=1569398&r1=1569397&r2=1569398&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Tue Feb 18 16:00:34 2014 @@ -37,6 +37,7 @@ webappClassLoader.loadedByThisOrChildFai webappClassLoader.jarsAdded=One or more JARs have been added to the web application [{0}] webappClassLoader.jarsModified=One or more JARs have been modified in the web application [{0}] webappClassLoader.jarsRemoved=One or more JARs have been removed from the web application [{0}] +webappClassLoader.j2seClassLoaderNull=The j2seClassLoader attribute may not be null webappClassLoader.resourceModified=Resource [{0}] has been modified. The last modified time was [{1}] and is now [{2}] webappClassLoader.stopThreadFail=Failed to terminate thread named [{0}] for web application [{1}] webappClassLoader.stopTimerThreadFail=Failed to terminate TimerThread named [{0}] for web application [{1}] Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1569398&r1=1569397&r2=1569398&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Tue Feb 18 16:00:34 2014 @@ -339,7 +339,7 @@ public class WebappClassLoader extends U * those cases {@link ClassLoader#getParent()} will be called recursively on * the system class loader and the last non-null result used. */ - protected final ClassLoader j2seClassLoader; + private ClassLoader j2seClassLoader; /** @@ -1240,9 +1240,10 @@ public class WebappClassLoader extends U // (0.2) Try loading the class with the system class loader, to prevent // the webapp from overriding J2SE classes String resourceName = binaryNameToPath(name, false); - if (j2seClassLoader.getResource(resourceName) != null) { + ClassLoader j2seLoader = getJ2seClassLoader(); + if (j2seLoader.getResource(resourceName) != null) { try { - clazz = j2seClassLoader.loadClass(name); + clazz = j2seLoader.loadClass(name); if (clazz != null) { if (resolve) resolveClass(clazz); @@ -1505,6 +1506,18 @@ public class WebappClassLoader extends U // ------------------------------------------------------ Protected Methods + protected ClassLoader getJ2seClassLoader() { + return j2seClassLoader; + } + + protected void setJ2seClassLoader(ClassLoader classLoader) { + if (classLoader == null) { + throw new IllegalArgumentException( + sm.getString("webappClassLoader.j2seClassLoaderNull")); + } + j2seClassLoader = classLoader; + } + /** * Clear references. */ --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org