You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by David Wall <d....@computer.org> on 2006/05/28 23:58:28 UTC
System down web.xml partially working when restart webapp via tomcat
manager
We have multiple webapps running in a single Tomcat instance, and when
we need to upgrade a given webapp, we install a "system down" web.xml
that defines a "null operation" listener (we normally have one that
bootstraps the application, connects to databases, etc.) and maps
everything to a servlet that displays an error message.
What we found is that if we stop/start or reload the webapp using the
Tomcat Manager application, the original context listener class is still
being invoked, which of course we don't want since it initializes the
application and such. We do find that the all requests to any URL will
use the system down servlet, so the system is restarting using the
system down version of web.xml.
If we restart Tomcat entirely, then it works as expected, giving us the
system down errors, but not running the real context listener.
Is there a way to allow this to work using the Manager app? This would
be preferable as we'd like to be able to do maintenance on a given
webapp without affecting all of the others.
We're using Tomcat 5.5.12 with JDK 1.5 on Red Hat Linux.
Thanks,
David
P.S. Here's that web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>System down</display-name>
<description>System down</description>
<listener>
<listener-class>com.test.servlet.SystemDownContextListener</listener-class>
</listener>
<servlet>
<servlet-name>SystemDown</servlet-name>
<servlet-class>com.test.servlet.SystemDown</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SystemDown</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
</web-app>
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: System down web.xml partially working when restart webapp via
tomcat manager
Posted by David Wall <d....@computer.org>.
I may have found this was fixed in 5.5.17 since I see this line in the
changelog:
Correctly reset listeners when reloading a webapp (remm)
I'll give that a try....
David
David Wall wrote:
> We have multiple webapps running in a single Tomcat instance, and when
> we need to upgrade a given webapp, we install a "system down" web.xml
> that defines a "null operation" listener (we normally have one that
> bootstraps the application, connects to databases, etc.) and maps
> everything to a servlet that displays an error message.
>
> What we found is that if we stop/start or reload the webapp using the
> Tomcat Manager application, the original context listener class is
> still being invoked, which of course we don't want since it
> initializes the application and such. We do find that the all
> requests to any URL will use the system down servlet, so the system is
> restarting using the system down version of web.xml.
>
> If we restart Tomcat entirely, then it works as expected, giving us
> the system down errors, but not running the real context listener.
>
> Is there a way to allow this to work using the Manager app? This
> would be preferable as we'd like to be able to do maintenance on a
> given webapp without affecting all of the others.
>
> We're using Tomcat 5.5.12 with JDK 1.5 on Red Hat Linux.
>
> Thanks,
> David
>
>
> P.S. Here's that web.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> version="2.4">
>
> <display-name>System down</display-name>
> <description>System down</description>
>
> <listener>
>
> <listener-class>com.test.servlet.SystemDownContextListener</listener-class>
>
> </listener>
>
> <servlet>
> <servlet-name>SystemDown</servlet-name>
> <servlet-class>com.test.servlet.SystemDown</servlet-class>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>SystemDown</servlet-name>
> <url-pattern>/*</url-pattern>
> </servlet-mapping>
>
> <session-config>
> <session-timeout>1</session-timeout>
> </session-config>
> </web-app>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org