Wenn das Herunterfahren des Anwendungsservers JDBC-Aufrufe verursacht, die die Datenbanksitzung beenden, sollte dies nicht passieren. Wenn es die JDBC-Verbindung nicht ordnungsgemäß schließt, würde ich das als Fehler im Anwendungsserver bezeichnen. Wenn dies der Fall ist, aber die Abfragen im Backend nicht abgebrochen werden, würde ich das als Fehler im JDBC-Treiber bezeichnen.
Wie auch immer, eine Problemumgehung besteht darin, festzulegen tcp_keepalives_idle
auf einen niedrigen Wert, damit der Server tote TCP-Verbindungen schnell erkennt und die Abfrage beendet.