tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From JBraw...@silenus.com
Subject RE: Killing endless loop servlet - howto ? killing JVM or unload class ?
Date Mon, 02 Jul 2001 15:07:56 GMT

> First, I don't know if it's killing a thread is the right approach.
Should
I do that, without shutdown Tomcat ?

If you must have an endless loop, here is a way to kill it.

try
{
   while (true)
   {
     // inside infinite loop
   }
}
catch (InterruptedException)
{
}

When you want the thread to be killed, just call it's interrupt() method.
This will catch the exception outside the loop and terminate.

Just a suggestion...

Jason E. Brawner
Silenus Group



                                                                                         
                         
                    William                                                              
                         
                    Kaufman              To:     "'tomcat-user@jakarta.apache.org'"      
                         
                    <WKaufman@viq        <tomcat-user@jakarta.apache.org>       
                                  
                    uity.com>            cc:                                          
                            
                                         Subject:     RE: Killing endless loop servlet - howto
? killing JVM or    
                    07/02/2001           unload       class ?                            
                         
                    10:11 AM                                                             
                         
                    Please                                                               
                         
                    respond to                                                           
                         
                    tomcat-user                                                          
                         
                                                                                         
                         
                                                                                         
                         




OK, no one's answered this yet, so,...

> First, I don't know if it's killing a thread is the right approach.
Should
I do that, without shutdown Tomcat ?

So, why are you creating an infinite loop?  I mean, if you didn't, you
wouldn't have to kill it.

If you're generally asking how one can kill threads in Java, you could use
java.lang.Thread.stop() (but read the deprecation warning).  But as a rule,
not creating infinite loops is a much better strategy.

> Is there a way to set a 'time-out' for a Servlet ?

Not the way you mean.  You can set a timeout for a session (by modifying
your web.xml); but AFAIK, the only way to set a timeout for a request would
be on your browser.

                                        -- Bill K.

-----Original Message-----
From: Renato Weiner [mailto:reweiner@yahoo.com]
Sent: Monday, July 02, 2001 6:03 AM
To: tomcat-user@jakarta.apache.org
Subject: Killing endless loop servlet - howto ? killing JVM or unload class
?


Hi all,
I'm rolling out a successful Tomcat instalation in a shared environment (
it's a great software ! ). But I have a concern.
I created a servlet that loops forever ( a very stupid one, by the way ).
When I executed it, it allocates a Tomcat thread and it just runs forever.
If I try to kill it after it consumed, let's say, 30 seconds of processing,
it ended up killing the whole JVM.
First, I don't know if it's killing a thread is the right approach. Should
I
do that, without shutdown Tomcat ? Is there a way to set a 'time-out' for a
Servlet ? What I can doin this situation ? Is there an Interceptor that can
unload this class somehow ?
Thanks in advance
Renato - Brazil
P.S. I'm running Linux, kernel 2.4.3, Tomcat 3.2.2




Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 a year!
http://personal.mail.yahoo.com/





Mime
View raw message