On 18/03/2016 15:06, Theo Sweeny wrote:
> Hi Mark,


> hanks for the reply - the developers are pushing back as they believe Tomcat 
> should kill off any rogue webapps after a certain timeframe as this is how 
> they have it done in Weblogic.

I believe WebLogic runs each web application in a separate JVM (or at
least provides an option to do so). That allows developers to get away
with all sorts of poor practice because the container can simply kill
the JVM to clean things up.

Tomcat doesn't work like that. In Tomcat all web applications are hosted
in a single JVM. Java provides no safe mechanism for stopping a
currently processing thread. Therefore there is very little / nothing
Tomcat can do.

The developers need to fix their broken code.

> When I do an Strace on a broken webapp, the following can be seen -
> 11297 11:39:23.023838 write(105, "2016-03-18 11:39:23,021 138066033 
> [http-nio-10080-exec-27] ERROR 
> com.spring.business.service.security.ldap.filter.CustomAuthFilter  - 
> Exception thrown in doFilterInternal: 
> {}\norg.apache.catalina.connector.ClientAbortException: java.io.IOException: 
> Broken pipe\n\tat 
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:393)
>  ~[catalina.jar:8.0.21]\n\tat 
> org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426) 
> ~[tomcat-util.jar:8.0.21]\n\tat org.apache.catalina.connector."..., 17236 
> <unfinished ...>
> Is this due to Tomcat's inability to recover from a lost datasource?

That looks like a client dropping the connection. Tomcat will handle
that happily. Whether the app does is a different question.


To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to