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: [email protected]
For additional commands, e-mail: [email protected]