Author: markt
Date: Fri Feb  1 11:55:20 2013
New Revision: 1441403

URL: http://svn.apache.org/viewvc?rev=1441403&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54507
Don't start expiring sessions until the web application is fully started. Stop 
expiring sessions as soon as the web application is stopped.

Modified:
    tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

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=1441403&r1=1441402&r2=1441403&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Fri Feb  1 
11:55:20 2013
@@ -5127,9 +5127,6 @@ public class StandardContext extends Con
                 if ((manager != null) && (manager instanceof Lifecycle)) {
                     ((Lifecycle) getManager()).start();
                 }
-
-                // Start ContainerBackgroundProcessor thread
-                super.threadStart();
             } catch(Exception e) {
                 log.error("Error manager.start()", e);
                 ok = false;
@@ -5148,6 +5145,8 @@ public class StandardContext extends Con
                 loadOnStartup(findChildren());
             }
 
+            // Start ContainerBackgroundProcessor thread
+            super.threadStart();
         } finally {
             // Unbinding thread
             unbindThread(oldCCL);
@@ -5303,6 +5302,9 @@ public class StandardContext extends Con
 
             ClassLoader old = bindThread();
             try {
+                // Stop ContainerBackgroundProcessor thread
+                threadStop();
+
                 for (int i = 0; i < children.length; i++) {
                     children[i].stop();
                 }
@@ -5310,9 +5312,6 @@ public class StandardContext extends Con
                 // Stop our filters
                 filterStop();
 
-                // Stop ContainerBackgroundProcessor thread
-                threadStop();
-
                 Manager manager = getManager();
                 if (manager != null && manager instanceof Lifecycle &&
                         ((Lifecycle) manager).getState().isAvailable()) {



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

Reply via email to