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).