Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to catch and Ignore org.apache.catalina.connector.ClientAbortException

Tags:

I want to catch and ignore the following tomcat ClientAbortException. As it is unnecessary to pay any attention on this for my program.

Any idea how and where I can catch this exception? Below is the Exception:

14:46:43.920 [ajp-bio-8029-exec-538] ERROR com.sok.runway.URLFilter - Exception in URLFilter org.apache.catalina.connector.ClientAbortException: null         at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:388) ~[catalina.jar:7.0.26]         at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462) ~[tomcat-coyote.jar:7.0.26]         at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) ~[tomcat-coyote.jar:7.0.26]         at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:413) ~[catalina.jar:7.0.26]         at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:401) ~[catalina.jar:7.0.26]         at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91) ~[catalina.jar:7.0.26]         at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:2031) ~[catalina.jar:7.0.26]         at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1870) ~[catalina.jar:7.0.26]         at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:958) ~[catalina.jar:7.0.26]         at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:411) ~[catalina.jar:7.0.26]         at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) ~[servlet-api.jar:na]         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) ~[servlet-api.jar:na]         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) [catalina.jar:7.0.26]         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.26]         at com.sok.runway.URLFilter.doFilter(URLFilter.java:130) ~[runway-dev.jar:na]         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.26]         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.26]         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) [catalina.jar:7.0.26]         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) [catalina.jar:7.0.26]         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) [catalina.jar:7.0.26]         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) [catalina.jar:7.0.26]         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) [catalina.jar:7.0.26]         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) [catalina.jar:7.0.26]         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.26]         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) [catalina.jar:7.0.26]         at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200) [tomcat-coyote.jar:7.0.26]         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) [tomcat-coyote.jar:7.0.26]         at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) [tomcat-coyote.jar:7.0.26]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_03]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_03]         at java.lang.Thread.run(Thread.java:722) [na:1.7.0_03] Caused by: java.net.SocketException: Connection reset         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) ~[na:1.7.0_03]         at java.net.SocketOutputStream.write(SocketOutputStream.java:153) ~[na:1.7.0_03]         at org.apache.coyote.ajp.AjpProcessor.output(AjpProcessor.java:295) [tomcat-coyote.jar:7.0.26]         at org.apache.coyote.ajp.AbstractAjpProcessor$SocketOutputBuffer.doWrite(AbstractAjpProcessor.java:1082) ~[tomcat-coyote.jar:7.0.26]         at org.apache.coyote.Response.doWrite(Response.java:533) ~[tomcat-coyote.jar:7.0.26]         at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:383) ~[catalina.jar:7.0.26] 
like image 407
user3007165 Avatar asked Dec 11 '13 03:12

user3007165


People also ask

What causes ClientAbortException?

ClientAbortException: java. io. IOException. This exception happens when the Tomcat server tries to write back response to the client but it finds that the connection has been closed from the client side.

What is client abort exception?

This exception can mean that the connection to the client browser was aborted before the response is fully transferred. It is a harmless warning as it can be due to transient network problems or the user aborts/refreshes the page before it loaded.


1 Answers

since you probably don't want a dependency to Catalina, you can ignore the Exception like this (I'm assuming the ClientAbortException is the cause):

String simpleName = e.getCause().getClass().getSimpleName(); if (simpleName.equals("ClientAbortException")) {     // ignore } else {     // do whatever you do } 
like image 183
entreprenr Avatar answered Oct 09 '22 01:10

entreprenr