Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] Jetty 12.1 ResourceHandler: how to know if client closed HTTP connection?
  • From: Michał Niklas <michal.niklas@xxxxxxxxxx>
  • Date: Mon, 13 Jul 2026 12:09:10 +0200
  • Autocrypt: addr=michal.niklas@xxxxxxxxxx; keydata= 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 ACOi7X2INWT4uzyNGq/Owg==
  • Delivered-to: jetty-users@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jetty-users/>
  • List-help: <mailto:jetty-users-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jetty-users>, <mailto:jetty-users-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jetty-users>, <mailto:jetty-users-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla Thunderbird

Hi,

My application uses Jetty 12.1 and extends ResourceHandler to serve some types of data from database.

Unfortunately some queries are very long: they create big PDF, XLS, or CSV files and sometimes client closes browser, or Kubernetes monitor resends query. I wanted to know if the client is still connected. I tried technique like:

public boolean handle(Request request, Response response, Callback callback){
    request.addFailureListener(failure -> {
log.error("Failure during serving " + request.getHttpURI() + " " + failure.toString() + " " + getState());
    });
    ...
}

My test query last few minutes so I can close browser during this period. Every long lasting query after 30 seconds writes to log:

... java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms STARTED

The query is completed regardless if I close browser (HTTP 1.1 by Chrome or curl) or wait for whole response. If I close browser or Ctrl-C for curl, there is no info that client closed connection.

I would like to know if client closed connection to simply stop querying database and stop creating output. How can I do it?

PS I have asked this question also on StackOverflow:
https://stackoverflow.com/questions/79979650/jetty-12-1-resourcehandler-how-to-know-if-client-closed-http-connection


--
Best regards,
Michal Niklas


Back to the top