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