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