All,

The patch below fixes (I believe) the following bugs:
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13833
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14228

I am not 100% confident about this patch and would therefore appreciate some
feedback before I commit it.

The reasoning behind the patch is that some of the context initialisation (for
bug 14228 the environment entries defined in the default context) occurs as a
result of firing the AFTER_START_EVENT. Therefore, the "load on startup"
servlets should only be loaded after this initialisation has taken place. The
additional exception addresses bug 13833.

Thanks in advance for your feedback,

Mark

Index: catalina/src/share/org/apache/catalina/core/StandardContext.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/Standar
dContext.java,v
retrieving revision 1.122
diff -u -r1.122 StandardContext.java
--- catalina/src/share/org/apache/catalina/core/StandardContext.java    27 Dec
2003 20:37:58 -0000     1.122
+++ catalina/src/share/org/apache/catalina/core/StandardContext.java    11 Feb
2004 23:24:44 -0000
@@ -3623,10 +3623,6 @@
                 ok = false;
         }
 
-        // Load and initialize all "load on startup" servlets
-        if (ok)
-            loadOnStartup(findChildren());
-
         // Unbinding thread
         unbindThread(oldCCL);
 
@@ -3643,11 +3639,16 @@
                 log(sm.getString("standardContext.startCleanup"), t);
             }
             setAvailable(false);
+            throw new
LifecycleException(sm.getString("standardContext.startFailed"));
         }
 
         // Notify our interested LifecycleListeners
         lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null);
 
+        // Load and initialize all "load on startup" servlets
+        oldCCL = bindThread();
+        loadOnStartup(findChildren());
+        unbindThread(oldCCL);
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to