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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org