Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Stopping a server that is servicing requests

Tony,

the server does wack all the threads during the stop.  That is
what causes the InterrupedException.     Something in your servlet
must be in a loop and continues to try to write.

Jetty notices that the thread is not stopping and logs that fact.

I think we also close all the connections, so there should also be
IOExceptions... but if you use a writer, most people don't call
checkError - so the exception can be ignored.


cheers



Tony Thompson wrote:
> I am using Jetty 7.0.2 snapshot code.  In a web application, I have a
> servlet that is sending content back to a client (as most servlets do). 
> If I stop the Jetty instance while the servlet is busy doing the
> "generating content for a client" thing, I get this exception:
> 
> java.lang.InterruptedException
>     at java.lang.Object.wait(Native Method)
>     at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.blockWritable(SelectChannelEndPoint.java:324)
>     at
> org.eclipse.jetty.http.AbstractGenerator.blockForOutput(AbstractGenerator.java:480)
>     at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:147)
>     at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:98)
>     at com.stoneware.servlets.HtmlLogger.write(HtmlLogger.java:133)
>     at com.stoneware.servlets.HtmlLogger.writeln(HtmlLogger.java:142)
>     at com.stoneware.servlets.HtmlLogger.connect(HtmlLogger.java:89)
>     at com.stoneware.swconsole.SWLog.service(SWLog.java:35)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>     at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530)
> ....
> 
> and then this message:  1 threads could not be stopped
> 
> Of course, the thread is still hanging out after the stop has finished
> which, in my case, is causing a classloader leak:
> 
> "qtp165789330-15" prio=10 tid=0x0000000041c9e800 nid=0x7f24 in
> Object.wait() [0x00007f1fb79fb000..0x00007f1fb79fcb70]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     - waiting on <0x00007f1fc34885d0> (a
> org.eclipse.jetty.io.nio.SelectChannelEndPoint)
>     at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.blockWritable(SelectChannelEndPoint.java:324)
>     - locked <0x00007f1fc34885d0> (a
> org.eclipse.jetty.io.nio.SelectChannelEndPoint)
>     at
> org.eclipse.jetty.http.AbstractGenerator.blockForOutput(AbstractGenerator.java:480)
>     at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:147)
>     at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:98)
>     at com.stoneware.servlets.HtmlLogger.write(HtmlLogger.java:133)
>     at com.stoneware.servlets.HtmlLogger.writeln(HtmlLogger.java:142)
>     at com.stoneware.servlets.HtmlLogger.connect(HtmlLogger.java:89)
>     at com.stoneware.swconsole.SWLog.service(SWLog.java:35)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>     at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530)
> ....
> 
> Since I am stopping the Jetty instance, shouldn't it whack all of those
> threads that are busy servicing clients at the time?
> 
> Thanks
> Tony
>  
> This message (and any associated files) is intended only for the
> use of the individual or entity to which it is addressed and may
> contain information that is confidential, subject to copyright or
> constitutes a trade secret. If you are not the intended recipient
> you are hereby notified that any dissemination, copying or
> distribution of this message, or files associated with this message,
> is strictly prohibited. If you have received this message in error,
> please notify us immediately by replying to the message and deleting
> it from your computer. Messages sent to and from Stoneware, Inc.
> may be monitored.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> jetty-users mailing list
> jetty-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jetty-users



Back to the top