Se encerrar o servidor de aplicativos causar chamadas JDBC que encerram a sessão do banco de dados, isso não deve acontecer. Se não fechar a conexão JDBC corretamente, eu chamaria isso de um bug no servidor de aplicativos. Se isso acontecer, mas as consultas no back-end não forem canceladas, eu chamaria isso de um bug no driver JDBC.
De qualquer forma, uma solução alternativa é definir
tcp_keepalives_idle
para um valor baixo para que o servidor detecte conexões TCP inativas rapidamente e encerre a consulta.