Thanks (to all). I had suspected this but all of the threads that were left
over (used eclipse) seemed like system threads. Turns out the culprit was an
RMI server object that was being exported by the webapp (you can browbeat me
over that in a different thread... I kept it for backwards compatibility).

At any rate, it turns out that Sun's RMI Distributed GC timer thread was
getting created as a non-daemon thread. There is, as you might expect, no
way to make this a daemon thread however I was able to unexport the Remote
object (indirectly of course :-) when the webapp get's shutdown.

This raises a question in my mind about the right way to do something in
tomcat/jws. I use a "manager servlet" that has an init (and now a destroy)
method to setup (tear down) resources for a webapp. I did it this way
because I wanted non-lazy initialization of the webapp's resources (i.e.
rather than waiting for the init method of one of the other servlets to be
called). I set the load-on-startup attribute to zero to ensure these get
loaded as soon as the webapp is loaded.

Is there another mechanism I ought to be using to initialize (arbitrary)
resources for my webapp?

On 10/3/05, Jon Wingfield <[EMAIL PROTECTED]> wrote:
>
> Yep. It's a FAQ, but not in the FAQ.
>
> Tomcat not quitting generally means your webapp has started a non-daemon
> thread which does not exit when the webapp is destroyed. If so, shut
> them down in a ServletContextListener.
>
> If you aren't explicitly creating threads in your webapp then the usual
> culprits are database connections that haven't been closed (or any other
> client api to remote services that uses asynchronous messaging and/or
> keepalive semantics).
>
> To see a dump of the threads still active after you've run shutdown.bat
> do a CTRL-BREAK in the tomcat dos console.
>
> HTH,
>
> Jon
>
> Charles Fineman wrote:
> > I started Tomcat using startup.bat. Everything goes fine. I use
> > shutdown.batto bring it down. The server fields the request and shuts
> > down a bunch of
> > services (as evidenced by the messages I see). Sure enough, the server
> no
> > longer responds to any requests. Unfortunately, the java process does
> not
> > die.
> >
> > I have this problem whether I start Tomcat by hand or if I use the
> Sysdeo
> > Eclipse plugin.
> >
> > This problem has been a thorn in my side for some time but since it only
> > affects my development environment (we use it as a service in production
> and
> > there are no problems) and I can kill the process by hand, I've not
> worried
> > about it. It's annoying as heck though and I'm wondering if someone can
> shed
> > some light.
> >
> > I searched around but (surprisingly!!) I didn't find anything similar to
> my
> > situation.
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to