Author: markt
Date: Sun May  2 19:05:07 2010
New Revision: 940304

URL: http://svn.apache.org/viewvc?rev=940304&view=rev
Log:
Just log multiple calls to destroy rather than throwing an Exception.

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=940304&r1=940303&r2=940304&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java Sun May  2 
19:05:07 2010
@@ -258,6 +258,20 @@ public abstract class LifecycleBase impl
 
 
     public synchronized final void destroy() throws LifecycleException {
+        if (LifecycleState.DESTROYED.equals(state)) {
+
+            if (log.isDebugEnabled()) {
+                Exception e = new LifecycleException();
+                log.debug(sm.getString("lifecycleBase.alreadyDestroyed",
+                        toString()), e);
+            } else if (log.isInfoEnabled()) {
+                log.info(sm.getString("lifecycleBase.alreadyDestroyed",
+                        toString()));
+            }
+            
+            return;
+        }
+        
         if (!state.equals(LifecycleState.STOPPED) &&
                 !state.equals(LifecycleState.FAILED)) {
             invalidTransition(Lifecycle.DESTROY_EVENT);

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=940304&r1=940303&r2=940304&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/util/LocalStrings.properties Sun May  
2 19:05:07 2010
@@ -25,6 +25,7 @@ extensionValidator.failload=Failure load
 lifecycleBase.initMBeanFail=Failed to register component [{0}] with MBean name 
[{1}]
 lifecycleBase.alreadyStarted=The start() method was called on component [{0}] 
after start() had already been called. The second call will be ignored.
 lifecycleBase.alreadyStopped=The stop() method was called on component [{0}] 
after stop() had already been called. The second call will be ignored.
+lifecycleBase.alreadyDestroyed=The destroy() method was called on component 
[{0}] after destroy() had already been called. The second call will be ignored.
 lifecycleBase.invalidTransition=An invalid Lifecycle transition was attempted 
([{0}]) for component [{1}] in state [{2}]
 requestUtil.convertHexDigit.notHex=[{0}] is not a hexadecimal digit
 requestUtil.parseParameters.uee=Unable to parse the parameters since the 
encoding [{0}] is not supported.



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

Reply via email to