You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Jan Grant <Ja...@bristol.ac.uk> on 2001/07/23 13:27:41 UTC

Tomcat 3.2.3 bug? Interceptor's engineShutdown doesn't get called.

I've got what looks like a bug in Tomcat 3.2.3, but I'd like to know if
there's something I'm doing wrong first.

I've got a ContextInterceptor defined as follows:
(foo.StartupInteceptor)

<?xml version="1.0" encoding="ISO-8859-1"?>

<Server>
    <xmlmapper:debug level="0" />
    <Logger name="tc_log" path="logs/tomcat.log" verbosityLevel = "INFORMATION" />

    <Logger name="servlet_log" path="logs/servlet.log" />

    <Logger name="JASPER_LOG" path="logs/jasper.log" verbosityLevel = "INFORMATION" />

    <ContextManager debug="0" workDir="work" showDebugInfo="true" >

        <ContextInterceptor className="org.apache.tomcat.context.AutoSetup" />
        <ContextInterceptor className="org.apache.tomcat.context.WebXmlReader" />
        <ContextInterceptor className="org.apache.tomcat.context.LoaderInterceptor" />
        <ContextInterceptor className="org.apache.tomcat.context.DefaultCMSetter" />
        <ContextInterceptor className="org.apache.tomcat.context.WorkDirInterceptor" />

        <RequestInterceptor className="org.apache.tomcat.request.SessionInterceptor" noCookies="false" />
        <RequestInterceptor  className="org.apache.tomcat.request.SimpleMapper1" debug="0" />
        <RequestInterceptor className="org.apache.tomcat.request.InvokerInterceptor" debug="0" prefix="/servlet/" />
        <RequestInterceptor className="org.apache.tomcat.request.StaticInterceptor" debug="0" suppress="false" />
        <RequestInterceptor className="org.apache.tomcat.session.StandardSessionInterceptor" />
        <RequestInterceptor className="org.apache.tomcat.request.AccessInterceptor" debug="0" />
        <RequestInterceptor className="org.apache.tomcat.request.SimpleRealm" debug="0" />
        <ContextInterceptor className="org.apache.tomcat.context.LoadOnStartupInterceptor" />

        <!-- Normal HTTP -->
        <Connector className="org.apache.tomcat.service.PoolTcpConnector">
            <Parameter name="handler" value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
            <Parameter name="inet" value="localhost"/>
            <Parameter name="port" value="8080"/>
        </Connector>

        <!-- Apache AJP12 support. This is also used to shut down tomcat. -->
        <Connector className="org.apache.tomcat.service.PoolTcpConnector">
            <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/>
            <Parameter name="inet" value="localhost"/>
            <Parameter name="port" value="8007"/>
        </Connector>

	<!-- demonstrator -->

	<ContextInterceptor className="foo.StartupInterceptor" />

	<Context path="/foo"
		docBase="/home/jan/webapp/foo"
		debug="0"
		reloadable="true" >
        </Context>

    </ContextManager>
</Server>


... and foo.StartupInterceptor doesn't do much (at the moment), it
merely defines an engineInit() method (which works) and an
engineShutdown() which looks like this: (it extends BaseInterceptor)

public void engineShutdown(ContextManager cm) throws TomcatException {
  System.err.println("DEBUG! - engineShutdown called");
  super.engineShutdown( cm );
}


The problem is that the engineShutdown method doesn't seem to be getting
to the interceptor. Has anyone else seen this? I've looked through the
bug reports but haven't seen anything similar.



-- 
jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/
Tel +44(0)117 9287163 Fax +44 (0)117 9287112 RFC822 jan.grant@bris.ac.uk
Bolstered by my success with vi, I proceeded to learn C with 'learn c'.