Author: markt
Date: Thu Oct 9 10:12:59 2014
New Revision: 1630361
URL: http://svn.apache.org/r1630361
Log:
Revert r1630059 and apply a better patch for the issue reported by FindBugs
Modified:
tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=1630361&r1=1630360&r2=1630361&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Thu Oct 9
10:12:59 2014
@@ -441,26 +441,30 @@ public class WebappLoader extends Lifecy
ServletContext servletContext = context.getServletContext();
servletContext.removeAttribute(Globals.CLASS_PATH_ATTR);
- // Throw away our current class loader
- try {
- classLoader.stop();
- } finally {
- classLoader.destroy();
- }
+ // Throw away our current class loader if any
+ if (classLoader != null) {
+ try {
+ classLoader.stop();
+ } finally {
+ classLoader.destroy();
+ }
- try {
- String contextName = context.getName();
- if (!contextName.startsWith("/")) {
- contextName = "/" + contextName;
- }
- ObjectName cloname = new ObjectName(context.getDomain() + ":type="
+
- classLoader.getClass().getSimpleName() + ",host=" +
- context.getParent().getName() + ",context=" + contextName);
- Registry.getRegistry(null, null).unregisterComponent(cloname);
- } catch (Exception e) {
- log.error("LifecycleException ", e);
+ // classLoader must be non-null to have been registered
+ try {
+ String contextName = context.getName();
+ if (!contextName.startsWith("/")) {
+ contextName = "/" + contextName;
+ }
+ ObjectName cloname = new ObjectName(context.getDomain() +
":type=" +
+ classLoader.getClass().getSimpleName() + ",host=" +
+ context.getParent().getName() + ",context=" +
contextName);
+ Registry.getRegistry(null, null).unregisterComponent(cloname);
+ } catch (Exception e) {
+ log.error("LifecycleException ", e);
+ }
}
+
classLoader = null;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]