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