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

Reply via email to