Howdy,
One possible way it to use Runtime#addShutdownHook(Thread hook) ...

Try to stay container-independent and therefore as portable as possible,
by not using tomcat-specific listeners, unless necessary.

Yoav Shapira
Millennium ChemInformatics


>-----Original Message-----
>From: Tim Funk [mailto:[EMAIL PROTECTED]
>Sent: Wednesday, June 04, 2003 11:36 AM
>To: Tomcat Users List
>Subject: Re: Different shutdown behavior of httpConnector in TC403
>(graceful) and TC406 (reckless)
>
>If your need daemon threads to perform some type of cleanup. You'll
need to
>- Create a non-deamon thread for the sole purpose of ensuring the JVM
stays
>up
>- Create a LifeCycleListener (or other appropriate listener) to listen
for
>tomcat startup and shutdown events
>- On shutdown, you'll need a synching method to kill the non-daemon
thread
>once it knows all the daemon threads are done doing their thing
>
>-Tim
>
>[EMAIL PROTECTED] wrote:
>> Okay, I see that point. Since the worker threads who perform the very
>work to
>> respond a request are deamons, there seems to be a hard and
unconfigured
>timeout
>> effective in TC406.
>>
>> TC403 and TC406 show different behaviors when stopping. Both would
>require
>> certain application coding, but which one is the correct  behavior,
that
>> application programmers should rely on?
>>
>>
>>
>>
>>
>> Tim Funk <[EMAIL PROTECTED]>
>> 04.06.2003 12:03
>>
>> Bitte antworten an "Tomcat Users List"
<[EMAIL PROTECTED]>
>> An:     Tomcat Users List <[EMAIL PROTECTED]>
>> Kopie:
>> Thema:  Re: Different shutdown behavior of httpConnector in TC403
>(graceful)
>>         and TC406 (reckless)
>>
>>
>> There isn't any code (that I know of) in 4.0.6 that performs the
kill.
>>
>> The JVM will terminate if "only daemon threads are running". If the
>daemon
>> threads need to perform more work during a shutdown, you need to make
>sure
>> one of them is non-daemon.
>>
>> -Tim
>>
>> [EMAIL PROTECTED] wrote:
>>
>>>When shutdown.sh is launched, TC performs a stop on all
HttpConnectors,
>which
>>>themselves will stop their HttpProcessors.
>>>
>>>It seems to that -  while TC 403 waits "gracefully" for the work on a
>request
>>
>> to
>>
>>>be finished (even forever) - TC 406 will wait 5 secs only and then
>shutdown
>>>without
>>>any respect to the work done in the processors background threads.
>>>
>>>I am afraid both ways can have undesired consequences. TC 403 will
>sometimes
>>>simply resist to shut down,  while in a TC406 shutdown the work done
in
>daemon
>>>threads will be interrupted without regards to the current states of
the
>>>threads.
>>>
>>>The behavior of TC 406 is fine when there are only requests that can
be
>>
>> handled
>>
>>>fast. On the other hand, with large transactions I would prefer the
>behavior
>>
>> of
>>
>>>TC 403 and pervent the requests from lasting too long by implementing
>>>configurable timeouts myself in the application code. Otherwise - or
as
>it
>>
>> seems
>>
>>>to be implemented in TC406 - we would risk to interrupt vulnerable
>operations,
>>>aren't we?
>>>
>>>So, my primary question is this one: Did I overlook a point, in
>particular: Is
>>>there a way to configure the shutdown behavior in TC 406 top wait for
the
>>>background threads to finish?
>>>
>>>There was discussion on that topic last year (
>>>http://marc.theaimsgroup.com/?t=104454190600001&r=1&w=2),
>>>but I do not see where it had practical consequences in the code.
>>>
>>>Thanks
>>>
>>>Frank
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>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]
>>
>>
>>
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> 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]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to