On 22/03/2011 14:42, neeraj kumar wrote:
> Hi ,
> 
> I am using Tomcat 6.0.18 , JVM Version 1.6.0_24 ,OS SunOS 5.10, OSArch
> :AMD64
> 
> Recently I observed in few apps deployed on tomcat, that when I undeploy the
> apps by simply deleting the .war file and the directory for the app, a few
> threads are not cleaned up.
> 
> I would be happy if someone shed some light on the following:
> 
> 1, Is there a way of a full clean undeployment of a webapp ?

No. There is no safe mechanism to stop an application created thread.
There are some very dirty hacks you can use but they are very unstable.
See clearReferencesStopThreads in
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html

In testing I managed to crash the JVM about 50% of the time with that
option enabled.

By far the best way to fix this issue is for the application to stop any
threads it starts using a ServletContextListener. I view failure to do
so as a serious application bug since is triggers a heap of issues
including PermGen memory leaks.

> 2. Does tomcat manager help the developer/administrator in a full cleanup of
> an app during undeployment , or even the manager simply deletes the war and
> lets the tomcat container take care of undeploying??

The Manager adds a little logic to prevent some race conditions that may
occur if you just delete the file. It is marginally safer but there is
no extra clean-up performed.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to