Jeśli używasz Tomcat JNDI DataSource patrz niektóre parametry, które możesz ustawić w źródle danych, takim jak testOnBorrow. Jeśli weryfikacja się nie powiedzie, połączenie zostanie usunięte z puli. Testowanie połączeń wiąże się z pewnym obciążeniem wydajnościowym, ale powinno to rozwiązać takie problemy. Jeśli masz ustawioną wysoką wartość minIdle/maxIdle, to wyjaśniałoby to, dlaczego problem nadal występuje podczas ponownego łączenia, rozwiązuje go dla innych osób.