Unable to write back a response error code from ReadListener#onError

23 Views Asked by At

I am using the async Servlet API and NIO, by setting a ReadListener.

In the onError of the ReadListener, I am catching a SocketTimeoutException and trying to send back an error code 408. Here is the simplified example of what I am trying to do,

@Override
public void onError(Throwable failure) {
    if(failure instanceof SocketTimeoutException) {
        response.sendError(408);
        request.getAsyncContext().complete();
    }
}

However, Tomcat just refuses to send back the error I want and instead just closes the connection. Am I missing something trivial or is this supposed to be achieved in a different way?

BTW I am trying to do the async processing on the container thread itself.

0

There are 0 best solutions below