Z jakiej puli połączeń korzystasz? Większość pozwala na okresowe wykonywanie polecenia pulsu, aby zapobiec bezczynności połączeń.
EDYCJA:Patrząc na stronę konfiguracji DBCP
, myślę, że powinieneś ustawić odpowiednie (tanie) validationQuery . Możesz wtedy powiedzieć DBCP, aby przetestował to, gdy potencjalnie wykluczysz bezczynne połączenia (testWhileIdle ) lub powiedz mu, aby przetestował tuż przed zwróceniem połączenia (testOnBorrow ). Pierwszy (miejmy nadzieję!) utrzymałby twoje bezczynne połączenia; drugi nie, ale nie zwróciłby uszkodzonych połączeń (tj. gdyby w razie potrzeby utworzył nowe).