Hi Arieh,

I know about this problem, and 3.3 is going to fix this ( and other
similar problems ) by defining a startup order and changing the code 
to implement it.

I don't know any simple fix for 3.2, there is a lot of code that has to be
changed.

Costin 

On Mon, 20 Nov 2000, Arieh Markel wrote:

> We are running into the following problem:
> 
> . we start Tomcat in an embedded manner:
> 
>       use a server.xml that only includes interceptors and connectors
>       
>       create contexts programmatically
>       
>       initialize the context manager
>       
> 
> I am observing the following behavior:
> 
>   the tomcat is making the ports available before the context finished
>   being initialized.
>   
>   On trying to access the application at that time, we get the following  
>     
> java.lang.NoClassDefFoundError: com/sun/esm/web/server/ServerUtils
>         at com.sun.esm.web.servlet.CMCServlet.service(CMCServlet.java:354)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
> org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:387)
>         at org.apache.tomcat.core.Handler.service(Handler.java:263)
>         at 
> org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:371)
>         at 
> org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:787)
>         at 
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:733)
>         at 
> org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConne
> ctionHandler.java:210)
>         at org.apache.tomcat.service.TcpWorkerThread.runIt(Compiled Code)
>         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(Compiled Code)
>         at java.lang.Thread.run(Compiled Code)
>         
>  
>   From that moment on, we are never able to access the webserver, getting
>   the same message again and again.
>   
> -----
> 
> It appears that there is a race condition on the ContextManager.start()
> method.
> 
> I instrumented my context manager startup to print when the return
> from ContextManager.start occurs.
> 
> I try to access my initial page (which is actually a servlet)
> repeatedly from a browser trying to catch the point in time where
> the connector is made available by the contexts are not.
> 
> When I manage to access the port on the connector
> the result is the above exception.
> 
> Does anybody else see something similar ?
> 
> -----
> 
> Arieh       
> --
>  Arieh Markel                         Sun Microsystems Inc.
>  Network Storage                        500 Eldorado Blvd. MS UBRM11-194
>  e-mail: [EMAIL PROTECTED]           Broomfield, CO 80021
>  Let's go Panthers !!!!                 Phone: (303) 272-8547 x78547
>  (e-mail me with subject SEND PUBLIC KEY to get public key)
> 

Reply via email to