You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by "Craig R. McClanahan" <cr...@apache.org> on 2003/02/10 20:06:55 UTC

RE: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!


On Mon, 10 Feb 2003, Jindong Li wrote:

> Date: Mon, 10 Feb 2003 13:53:52 -0500
> From: Jindong Li <Ji...@solcorp.com>
> Reply-To: Tomcat Developers List <to...@jakarta.apache.org>
> To: 'Tomcat Developers List' <to...@jakarta.apache.org>
> Subject: RE: Shutdown.sh does not work when long lasting operations,
>      such  as SQL Queries, are still active!
>
> I think that's what we're experiencing here with Tomcat4.0.5...we have been
> using TC401 and the shutdown is instant...but I think they have changed the
> way TC is shutting down now...TC will gracefully shutdown i.e. waiting for
> all threads finish and then exit...
>
> If you want...you can try TC401, see if you still experience the delay...
>
> I posted a similar message before and haven't got any response from the
> community yet...:-(
>

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.

> Jindong.
>

Craig

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Costin Manolache <cm...@yahoo.com>.
Thanks Amy. 


Costin


Amy Roh wrote:

>> Amy Roh wrote:
>>
>> > I have investigated further and found out that
>> > GlobalResourcesLifecycleListener is not creating mbeans for
>> > userdatabase anymore, therefore, admin failure due to missing mbeans.
>> >
>> > Costin,
>> > Do you have a better idea why Userdatabase MBeans are not getting
>> > created anymore since your last change?  I looked through the code and
>> > it looks like the functionality is still there.  I tried reverting back
>> > to 1.3 version and everything works fine.
>>
>> The code is a total mess... If reverting solves the problem - just commit
>> it.
>>
>> All I did is add some instanceof checks - so it'll work with another JNDI
>> implementation. It does work for me - at least with JMX-RI1.2.
> 
> I took another look at the change after getting some late lunch and I
> realized NamingEnumeration was skipping an element therefore missing
> userdatabase.  I just commited the fix and everything is good now.  Food
> always helps.  :-)
> 
> Amy
>>
>> Do you see any stacktraces ? Or other errors ?
>>
>>
>> costin
>>
>>
>> >
>> > Thanks,
>> > Amy
>> >
>> > Amy Roh wrote:
>> >> I just checked users/groups/roles part of admin because someone filed
>> >> a
>> >> bug and complained about its validation.  However, it seems to be
> broken
>> >> not finding MBeans for them due to objectname mismatch?  I'm not sure
>> >> what's changed since last release.  I'm planning to take a look at it
>> >> further this afternoon.
>> >>
>> >> Thanks,
>> >> Amy
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
>> >> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>> >>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>>
>>



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Amy Roh <am...@apache.org>.
> Amy Roh wrote:
>
> > I have investigated further and found out that
> > GlobalResourcesLifecycleListener is not creating mbeans for userdatabase
> > anymore, therefore, admin failure due to missing mbeans.
> >
> > Costin,
> > Do you have a better idea why Userdatabase MBeans are not getting
> > created anymore since your last change?  I looked through the code and
> > it looks like the functionality is still there.  I tried reverting back
> > to 1.3 version and everything works fine.
>
> The code is a total mess... If reverting solves the problem - just commit
> it.
>
> All I did is add some instanceof checks - so it'll work with another JNDI
> implementation. It does work for me - at least with JMX-RI1.2.

I took another look at the change after getting some late lunch and I
realized NamingEnumeration was skipping an element therefore missing
userdatabase.  I just commited the fix and everything is good now.  Food
always helps.  :-)

Amy
>
> Do you see any stacktraces ? Or other errors ?
>
>
> costin
>
>
> >
> > Thanks,
> > Amy
> >
> > Amy Roh wrote:
> >> I just checked users/groups/roles part of admin because someone filed a
> >> bug and complained about its validation.  However, it seems to be
broken
> >> not finding MBeans for them due to objectname mismatch?  I'm not sure
> >> what's changed since last release.  I'm planning to take a look at it
> >> further this afternoon.
> >>
> >> Thanks,
> >> Amy
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> >> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> >>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Costin Manolache <cm...@yahoo.com>.
Amy Roh wrote:

> I have investigated further and found out that
> GlobalResourcesLifecycleListener is not creating mbeans for userdatabase
> anymore, therefore, admin failure due to missing mbeans.
> 
> Costin,
> Do you have a better idea why Userdatabase MBeans are not getting
> created anymore since your last change?  I looked through the code and
> it looks like the functionality is still there.  I tried reverting back
> to 1.3 version and everything works fine.

The code is a total mess... If reverting solves the problem - just commit
it.

All I did is add some instanceof checks - so it'll work with another JNDI
implementation. It does work for me - at least with JMX-RI1.2.

Do you see any stacktraces ? Or other errors ? 


costin


> 
> Thanks,
> Amy
> 
> Amy Roh wrote:
>> I just checked users/groups/roles part of admin because someone filed a
>> bug and complained about its validation.  However, it seems to be broken
>> not finding MBeans for them due to objectname mismatch?  I'm not sure
>> what's changed since last release.  I'm planning to take a look at it
>> further this afternoon.
>> 
>> Thanks,
>> Amy
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>>



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Amy Roh <am...@sun.com>.
I have investigated further and found out that 
GlobalResourcesLifecycleListener is not creating mbeans for userdatabase 
anymore, therefore, admin failure due to missing mbeans.

Costin,
Do you have a better idea why Userdatabase MBeans are not getting 
created anymore since your last change?  I looked through the code and 
it looks like the functionality is still there.  I tried reverting back 
to 1.3 version and everything works fine.

Thanks,
Amy

Amy Roh wrote:
> I just checked users/groups/roles part of admin because someone filed a 
> bug and complained about its validation.  However, it seems to be broken 
> not finding MBeans for them due to objectname mismatch?  I'm not sure 
> what's changed since last release.  I'm planning to take a look at it 
> further this afternoon.
> 
> Thanks,
> Amy
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Amy Roh <am...@apache.org>.
I just checked users/groups/roles part of admin because someone filed a 
bug and complained about its validation.  However, it seems to be broken 
not finding MBeans for them due to objectname mismatch?  I'm not sure 
what's changed since last release.  I'm planning to take a look at it 
further this afternoon.

Thanks,
Amy


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Remy Maucherat <re...@apache.org>.
Costin Manolache wrote:
> After the tag, I would like to port back the jsr77 names for servlets and
> enable the new attributes ( it'll be conditioned by a flag - so it won't be
> enable by default, only if someone sets the flag). The change is local to
> ServerLifecycleListener, and I tested it with reloading and the /admin. 
> 
> Is it ok ? 

We should wait IMO for the next stable release to port that. So if it's 
4.1.20, great !

Remy


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Costin Manolache <cm...@yahoo.com>.
jean-frederic clere wrote:

> Remy Maucherat wrote:
>> jean-frederic clere wrote:
>> 
>>> Remy Maucherat wrote:
>>>
>>>> Hi,
>>>>
>>>> I plan to tag 4.1.20 later today. Thanks to Glenn and Jan for getting
>>>> some good fixes in.
>>>
>>>
>>>
>>> I would like to add some changes in Manager:
>>> For example to add createEmptySession that fixes some problems related
>>> to SessionId. (The changes I rolled back some weeks ago).
>>> Should I?
>> 
>> 
>> Yes, you can port that if you want.
> 
> Done.

After the tag, I would like to port back the jsr77 names for servlets and
enable the new attributes ( it'll be conditioned by a flag - so it won't be
enable by default, only if someone sets the flag). The change is local to
ServerLifecycleListener, and I tested it with reloading and the /admin. 

Is it ok ? 

Costin



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Henri Gomez <hg...@apache.org>.
jean-frederic clere wrote:
> Remy Maucherat wrote:
> 
>> jean-frederic clere wrote:
>>
>>> Remy Maucherat wrote:
>>>
>>>> Hi,
>>>>
>>>> I plan to tag 4.1.20 later today. Thanks to Glenn and Jan for 
>>>> getting some good fixes in.
>>>
>>>
>>>
>>>
>>> I would like to add some changes in Manager:
>>> For example to add createEmptySession that fixes some problems 
>>> related to SessionId. (The changes I rolled back some weeks ago).
>>> Should I?
>>
>>
>>
>> Yes, you can port that if you want.

I'll try to make a rpm for it also :)

After my day job of course ;---)



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
Remy Maucherat wrote:
> jean-frederic clere wrote:
> 
>> Remy Maucherat wrote:
>>
>>> Hi,
>>>
>>> I plan to tag 4.1.20 later today. Thanks to Glenn and Jan for getting 
>>> some good fixes in.
>>
>>
>>
>> I would like to add some changes in Manager:
>> For example to add createEmptySession that fixes some problems related 
>> to SessionId. (The changes I rolled back some weeks ago).
>> Should I?
> 
> 
> Yes, you can port that if you want.

Done.

> 
> Remy
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by Remy Maucherat <re...@apache.org>.
jean-frederic clere wrote:
> Remy Maucherat wrote:
> 
>> Hi,
>>
>> I plan to tag 4.1.20 later today. Thanks to Glenn and Jan for getting 
>> some good fixes in.
> 
> 
> I would like to add some changes in Manager:
> For example to add createEmptySession that fixes some problems related 
> to SessionId. (The changes I rolled back some weeks ago).
> Should I?

Yes, you can port that if you want.

Remy


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [4.1.20] Tagging today

Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
Remy Maucherat wrote:
> Hi,
> 
> I plan to tag 4.1.20 later today. Thanks to Glenn and Jan for getting 
> some good fixes in.

I would like to add some changes in Manager:
For example to add createEmptySession that fixes some problems related to 
SessionId. (The changes I rolled back some weeks ago).
Should I?

> 
> Remy
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


[4.1.20] Tagging today

Posted by Remy Maucherat <re...@apache.org>.
Hi,

I plan to tag 4.1.20 later today. Thanks to Glenn and Jan for getting 
some good fixes in.

Remy


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by ml...@zip.com.au.
On Mon, Feb 10, 2003 at 12:04:08PM -0800, Costin Manolache wrote:
> I can backport the "-force" option from 3.3 - basically save the PID and 
> then use kill if tomcat doesn't shut down gracefully.

Yes, please!!

Matt

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by Daniel Rall <dl...@finemaltcoding.com>.
Definitely a more portable suggestion.

Tim Funk <fu...@joedog.org> writes:

> Why is a kill done instead of a System.exit()?
> 
> 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: tomcat-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 

-- 

Daniel Rall <dl...@finemaltcoding.com>

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by Michael Smith <ms...@speedlegal.com>.
Tim Funk wrote:
> Why is a kill done instead of a System.exit()?

System.exit() is a cleaner solution, but there are plenty of cases where 
tomcat won't shut down at all with this solution, so a kill is needed 
(either as suggested, or manually/externally). For example, I had a bug 
in a webapp a while ago (the servlet was marked as load-on-startup, so 
it was starting up before tomcat was fully running) where the servlet 
was hanging, so tomcat never fully started up. As a result, it wasn't 
listening on the shutdown socket, so anything requiring in-process 
intervention such as System.exit() would fail.

Perhaps have both?




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by Tim Funk <fu...@joedog.org>.
My plan was to add to Server attribute of shutdownWait(or something else 
if someone else has a better suggestion). If greater than zero, then 
System.exit() would be called otherwise, do nothing. That way - we are 
backwards compatible.

Die in 30 seconds
<Server port="8005" shutdown="SHUTDOWN" debug="0" shutdownWait="30">

Don't Die
   <Server port="8005" shutdown="SHUTDOWN" debug="0" shutdownWait="-1">
or
   <Server port="8005" shutdown="SHUTDOWN" debug="0" shutdownWait="0">
or
   <Server port="8005" shutdown="SHUTDOWN" debug="0">

-Tim

Craig R. McClanahan wrote:
> 
> On Mon, 10 Feb 2003, Tim Funk wrote:
> 
> 
>>Why is a kill done instead of a System.exit()?
> 
> 
> System.exit() is absolutely the wrong answer if Tomcat is embedded into a
> larger server-side application, rather than run separately in the usual
> way.  At best, you would need to make this configurable somehow (with the
> default to *not* run System.exit()).
> 
> Craig
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: [PATCH] Allow System.exit to be called on shutdown [was Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by Tim Funk <fu...@joedog.org>.
Here is my jsp test case (again .. sigh) - I had to rename it to txt 
file so mozilla would attach it.


-Tim

[PATCH] Allow System.exit to be called on shutdown [was Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by Tim Funk <fu...@joedog.org>.
Here is the patch to StandardServer.java and LocalStrings.properties.

Synopsis:
  New property: shutdownWait if greater than zero. Then to the end of 
shutdown, a new daemon thread is created which sleeps for {shutdownWait} 
seconds. When (and if) the Thread wakes back up, it prints to 
System.out() then new message in LocalStrings.properties and then calls 
System.exit.

shutdownWait defaults to zero. If zero or neagtive, then it is ignored 
and the old behavior occurs. (Which is to do nothing extra)

This patch was from tomcat5.

If this is good enough to accept, I can later submit the patches for the 
admin app and mbeans-descriptors.xml.

Also attached is the JSP I used to ensure the server stayed running. 
Ignore the quality of the jsp - its just a test.


-Tim


Craig R. McClanahan wrote:
> 
> On Mon, 10 Feb 2003, Tim Funk wrote:
> 
> 
>>Why is a kill done instead of a System.exit()?
> 
> 
> System.exit() is absolutely the wrong answer if Tomcat is embedded into a
> larger server-side application, rather than run separately in the usual
> way.  At best, you would need to make this configurable somehow (with the
> default to *not* run System.exit()).
> 
> Craig
> 

Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by "Craig R. McClanahan" <cr...@apache.org>.

On Mon, 10 Feb 2003, Tim Funk wrote:

>
> Why is a kill done instead of a System.exit()?

System.exit() is absolutely the wrong answer if Tomcat is embedded into a
larger server-side application, rather than run separately in the usual
way.  At best, you would need to make this configurable somehow (with the
default to *not* run System.exit()).

Craig

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by Tim Funk <fu...@joedog.org>.
Why is a kill done instead of a System.exit()?

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: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


RE: Shutdown.sh does not work when long lasting operations, such as SQL Queries, are still active!

Posted by Costin Manolache <cm...@yahoo.com>.
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: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org