Połączenie nie powiodło się, prawdopodobnie z powodu czasu bezczynności zapory sieciowej itp. Jeśli nie masz skonfigurowanego sterownika JDBC do ponownego nawiązywania połączenia w przypadku niepowodzenia, ten błąd nie zniknie, dopóki nie otworzysz nowego połączenia.
Jeśli korzystasz z puli połączeń z bazą danych (jesteś używając jednego, prawda?), prawdopodobnie chcesz włączyć funkcje sprawdzania połączenia, takie jak wysyłanie zapytania, aby sprawdzić, czy połączenie działa, zanim przekażesz je z powrotem do aplikacji. W Apache commons-dbcp nazywa się to validationQuery
i często jest ustawiony na coś prostego, takiego jak SELECT 1
.
Ponieważ używasz MySQL, powinieneś użyć zapytania „ping” specyficznego dla Connector/J, które jest lżejsze niż faktyczne wysyłanie prawdziwego zapytania SQL i ustawić zapytanie weryfikacyjne na /* ping */ SELECT 1 (część ping potrzeby być dokładnym
).