Author: remy.maucherat(a)jboss.com
Date: 2009-01-02 11:29:08 -0500 (Fri, 02 Jan 2009)
New Revision: 891
Modified:
trunk/java/org/apache/catalina/loader/WebappClassLoader.java
Log:
- Very rare NPE.
Modified: trunk/java/org/apache/catalina/loader/WebappClassLoader.java
===================================================================
--- trunk/java/org/apache/catalina/loader/WebappClassLoader.java 2009-01-02 16:28:56 UTC
(rev 890)
+++ trunk/java/org/apache/catalina/loader/WebappClassLoader.java 2009-01-02 16:29:08 UTC
(rev 891)
@@ -1768,7 +1768,11 @@
return clazz;
synchronized (this) {
- if (entry.binaryContent == null && entry.loadedClass == null)
+ clazz = entry.loadedClass;
+ if (clazz != null)
+ return clazz;
+
+ if (entry.binaryContent == null)
throw new ClassNotFoundException(name);
// Looking up the package
@@ -1817,19 +1821,15 @@
}
- if (entry.loadedClass == null) {
- clazz = defineClass(name, entry.binaryContent, 0,
- entry.binaryContent.length,
- new CodeSource(entry.codeBase, entry.certificates));
- entry.loadedClass = clazz;
- entry.binaryContent = null;
- entry.source = null;
- entry.codeBase = null;
- entry.manifest = null;
- entry.certificates = null;
- } else {
- clazz = entry.loadedClass;
- }
+ clazz = defineClass(name, entry.binaryContent, 0,
+ entry.binaryContent.length,
+ new CodeSource(entry.codeBase, entry.certificates));
+ entry.loadedClass = clazz;
+ entry.binaryContent = null;
+ entry.source = null;
+ entry.codeBase = null;
+ entry.manifest = null;
+ entry.certificates = null;
}
return clazz;
Show replies by date