Could instead a background daemon thread be launched, then be made to sleep for 30(?) second. If the thread wakes up then the tomcat has not exited properly and System.exit() can be called?
Since this class would live in /common or /server - it should be allowed to call System.exit()? Then one could configure a new entry in <Server> to choose how long to wait before calling System.exit, for example:
<Server port="8005" shutdown="SHUTDOWN" debug="0" shutdownWait="30">
Unless this seems like a bad idea - I can make an attempt to code and test it.
-Tim
Costin Manolache wrote:
Craig R. McClanahan wrote:It is OK for web applications to start threads -- as long as the web application cleans up after itself when the application is shut down (the easiest way to detect that is to create a ServletContextListener and wait for the contextDestroyed() method of your listener to be called). The JVM running Tomcat shuts down when all non-daemon threads have been killed. Tomcat properly cleans up all the threads that *it* creates -- it is up to your application to do the same.
I can backport the "-force" option from 3.3 - basically save the PID and then use kill if tomcat doesn't shut down gracefully.
Fact is many apps are not cleaning up - and having the whole server hunged and unable to restart for one bad app is not good.
Costin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]