Author: markt Date: Fri May 22 14:55:06 2015 New Revision: 1681138 URL: http://svn.apache.org/r1681138 Log: Log errors processing LifecycleListener events and continue rather than allowing uncaught exception to propagate
Modified: tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java tomcat/trunk/java/org/apache/catalina/util/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java?rev=1681138&r1=1681137&r2=1681138&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java Fri May 22 14:55:06 2015 @@ -117,7 +117,13 @@ public abstract class LifecycleBase impl LifecycleEvent event = new LifecycleEvent(this, type, data); LifecycleListener interested[] = listeners; for (int i = 0; i < interested.length; i++) { - interested[i].lifecycleEvent(event); + try { + interested[i].lifecycleEvent(event); + } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); + log.error(sm.getString("lifecycleBase.listenerFail", + type, interested[i].getClass().getName()), t); + } } } Modified: tomcat/trunk/java/org/apache/catalina/util/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/LocalStrings.properties?rev=1681138&r1=1681137&r2=1681138&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/util/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/util/LocalStrings.properties Fri May 22 14:55:06 2015 @@ -30,6 +30,7 @@ lifecycleBase.destroyFail=Failed to dest lifecycleBase.destroyStopFail=Calling stop() on failed component [{0}] to trigger clean-up did not complete. lifecycleBase.initFail=Failed to initialize component [{0}] lifecycleBase.invalidTransition=An invalid Lifecycle transition was attempted ([{0}]) for component [{1}] in state [{2}] +lifecycleBase.listenerFail=Failed to processes [{0}] event for an instance of [{1}] lifecycleBase.setState=Setting state for [{0}] to [{1}] lifecycleBase.startFail=Failed to start component [{0}] lifecycleBase.stopFail=Failed to stop component [{0}] --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org