You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/03/25 01:59:23 UTC

svn commit: r927247 - in /tomcat/trunk/java/org/apache/catalina: Lifecycle.java core/StandardContext.java startup/ContextConfig.java startup/TldConfig.java startup/Tomcat.java

Author: markt
Date: Thu Mar 25 00:59:23 2010
New Revision: 927247

URL: http://svn.apache.org/viewvc?rev=927247&view=rev
Log:
Make sure start() and stop() are called on Wrappers. This was a regression in the recent Lifecycle changes.

Modified:
    tomcat/trunk/java/org/apache/catalina/Lifecycle.java
    tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
    tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
    tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java
    tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java

Modified: tomcat/trunk/java/org/apache/catalina/Lifecycle.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Lifecycle.java?rev=927247&r1=927246&r2=927247&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/Lifecycle.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Lifecycle.java Thu Mar 25 00:59:23 2010
@@ -135,12 +135,21 @@ public interface Lifecycle {
 
 
     /**
-     * The LifecycleEvent type for the "configure" event. Use by those
+     * The LifecycleEvent type for the "configure_start" event. Used by those
      * components that use a separate component to perform configuration and
      * need to signal when configuration should be performed - usually after
      * {@link #BEFORE_START_EVENT} and before {@link #START_EVENT}.
      */
-    public static final String CONFIGURE_EVENT = "configure";
+    public static final String CONFIGURE_START_EVENT = "configure_start";
+
+    
+    /**
+     * The LifecycleEvent type for the "configure_stop" event. Used by those
+     * components that use a separate component to perform configuration and
+     * need to signal when de-configuration should be performed - usually after
+     * {@link #STOP_EVENT} and before {@link #AFTER_STOP_EVENT}.
+     */
+    public static final String CONFIGURE_STOP_EVENT = "configure_stop";
 
     
     // --------------------------------------------------------- Public Methods

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=927247&r1=927246&r2=927247&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu Mar 25 00:59:23 2010
@@ -4559,6 +4559,9 @@ public class StandardContext
                 if ((resources != null) && (resources instanceof Lifecycle))
                     ((Lifecycle) resources).start();
 
+                // Notify our interested LifecycleListeners
+                fireLifecycleEvent(Lifecycle.CONFIGURE_START_EVENT, null);
+                
                 // Start our child containers, if any
                 Container children[] = findChildren();
                 for (int i = 0; i < children.length; i++) {
@@ -4571,9 +4574,6 @@ public class StandardContext
                     ((Lifecycle) pipeline).start();
                 }
                 
-                // Notify our interested LifecycleListeners
-                fireLifecycleEvent(Lifecycle.CONFIGURE_EVENT, null);
-                
                 // Acquire clustered manager
                 Manager contextManager = null;
                 if (manager == null) {
@@ -4824,6 +4824,8 @@ public class StandardContext
             if (log.isDebugEnabled())
                 log.debug("Processing standard container shutdown");
 
+            fireLifecycleEvent(Lifecycle.CONFIGURE_STOP_EVENT, null);
+
             // Stop the Valves in our pipeline (including the basic), if any
             if (pipeline instanceof Lifecycle) {
                 ((Lifecycle) pipeline).stop();

Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=927247&r1=927246&r2=927247&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Thu Mar 25 00:59:23 2010
@@ -284,8 +284,8 @@ public class ContextConfig
         }
 
         // Process the event that has occurred
-        if (event.getType().equals(Lifecycle.CONFIGURE_EVENT)) {
-            configure();
+        if (event.getType().equals(Lifecycle.CONFIGURE_START_EVENT)) {
+            configureStart();
         } else if (event.getType().equals(Lifecycle.BEFORE_START_EVENT)) {
             beforeStart();
         } else if (event.getType().equals(Lifecycle.AFTER_START_EVENT)) {
@@ -295,13 +295,13 @@ public class ContextConfig
                 context.setDocBase(originalDocBase);
                 originalDocBase = docBase;
             }
-        } else if (event.getType().equals(Lifecycle.STOP_EVENT)) {
+        } else if (event.getType().equals(Lifecycle.CONFIGURE_STOP_EVENT)) {
             if (originalDocBase != null) {
                 String docBase = context.getDocBase();
                 context.setDocBase(originalDocBase);
                 originalDocBase = docBase;
             }
-            stop();
+            configureStop();
         } else if (event.getType().equals(Lifecycle.INIT_EVENT)) {
             init();
         } else if (event.getType().equals(Lifecycle.DESTROY_EVENT)) {
@@ -823,7 +823,7 @@ public class ContextConfig
     /**
      * Process a "contextConfig" event for this Context.
      */
-    protected synchronized void configure() {
+    protected synchronized void configureStart() {
         // Called from StandardContext.start()
 
         if (log.isDebugEnabled())
@@ -902,7 +902,7 @@ public class ContextConfig
     /**
      * Process a "stop" event for this Context.
      */
-    protected synchronized void stop() {
+    protected synchronized void configureStop() {
 
         if (log.isDebugEnabled())
             log.debug(sm.getString("contextConfig.stop"));

Modified: tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=927247&r1=927246&r2=927247&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java Thu Mar 25 00:59:23 2010
@@ -569,7 +569,7 @@ public final class TldConfig  implements
         
         if (event.getType().equals(Lifecycle.INIT_EVENT)) {
             init();
-        } else if (event.getType().equals(Lifecycle.CONFIGURE_EVENT)) {
+        } else if (event.getType().equals(Lifecycle.CONFIGURE_START_EVENT)) {
             try {
                 execute();
             } catch (Exception e) {

Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java?rev=927247&r1=927246&r2=927247&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Thu Mar 25 00:59:23 2010
@@ -676,7 +676,7 @@ public class Tomcat {
         public void lifecycleEvent(LifecycleEvent event) {
             try {
                 Context context = (Context) event.getLifecycle();
-                if (event.getType().equals(Lifecycle.CONFIGURE_EVENT)) {
+                if (event.getType().equals(Lifecycle.CONFIGURE_START_EVENT)) {
                     context.setConfigured(true);
                 }
             } catch (ClassCastException e) {



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