В настоящее время я разрабатываю веб-сервис REST с помощью Jersey / Tomcat (но приветствуется общий ответ Servlet / Container).
Если клиент выполняет некоторые запросы GET к службам, которые возвращают большой объем данных, из соединения MySQL.
Чтобы избежать каких-либо исключений OOM, я использую потоковый режим для MySQL.
Однако, если клиент прерывает запрос во время загрузки, соединение MySQL не закрывается.
После этого сервер не будет обрабатывать любой другой запрос, поскольку одновременно возможен только один «потоковый» запрос.
Итак, вопрос: как я могу получать уведомления, когда запрос заканчивается на моем сервере (нормально или ненормально). Могу ли я зарегистрировать какого-нибудь слушателя? Или использовать UncaughtExceptionHandler?
Я видел много вещей, связанных с обработкой исключений в Джерси, чтобы превратить их в «Ответ», но ничего, чтобы справиться с преждевременным окончанием запроса. Я думаю, что Джерси или Tomcat могут просто уничтожить мою ветку без уведомления. Могу ли я поймать какое-то исключение в критических частях моих методов, чтобы знать, когда происходит такое прерывание потока?
Заранее спасибо за помощь,
Raphael