Author: markt
Date: Fri Feb  1 12:45:41 2013
New Revision: 1441428

URL: http://svn.apache.org/viewvc?rev=1441428&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54497
Make error handling more robust so an error in the leak detection code doesn't 
prevent the Context from stopping unless the error is fatal to the JVM

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java

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=1441428&r1=1441427&r2=1441428&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Fri Feb 
 1 12:45:41 2013
@@ -25,7 +25,6 @@ import java.io.InputStream;
 import java.lang.ref.Reference;
 import java.lang.ref.WeakReference;
 import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.net.MalformedURLException;
@@ -2196,27 +2195,11 @@ public class WebappClassLoader
                     }
                 }
             }
-        } catch (SecurityException e) {
-            
log.warn(sm.getString("webappClassLoader.checkThreadLocalsForLeaksFail",
-                    getContextName()), e);
-        } catch (NoSuchFieldException e) {
-            
log.warn(sm.getString("webappClassLoader.checkThreadLocalsForLeaksFail",
-                    getContextName()), e);
-        } catch (ClassNotFoundException e) {
-            
log.warn(sm.getString("webappClassLoader.checkThreadLocalsForLeaksFail",
-                    getContextName()), e);
-        } catch (IllegalArgumentException e) {
-            
log.warn(sm.getString("webappClassLoader.checkThreadLocalsForLeaksFail",
-                    getContextName()), e);
-        } catch (IllegalAccessException e) {
-            
log.warn(sm.getString("webappClassLoader.checkThreadLocalsForLeaksFail",
-                    getContextName()), e);
-        } catch (InvocationTargetException e) {
-            
log.warn(sm.getString("webappClassLoader.checkThreadLocalsForLeaksFail",
-                    getContextName()), e);
-        } catch (NoSuchMethodException e) {
-            
log.warn(sm.getString("webappClassLoader.checkThreadLocalsForLeaksFail",
-                    getContextName()), e);
+        } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
+            log.warn(sm.getString(
+                    "webappClassLoader.checkThreadLocalsForLeaksFail",
+                    getContextName()), t);
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to