Mysql
 sql >> Baza danych >  >> RDS >> Mysql

JDBC ERROR:08S01 czasami się zdarza

Najprawdopodobniej albo

  1. Otwieranie gniazd i nie zamykanie ich. Z biegiem czasu liczba otwartych gniazd staje się zbyt duża i aplikacja ulega awarii.
  2. Otwierasz zbyt wiele gniazd jednocześnie. Może dlatego, że masz mnóstwo wątków.

Domyślam się, że to numer 1. Dokładnie sprawdź swój kod i upewnij się, że zamknąłeś wszystkie obiekty Connection i obiekty ResultSet.

Jeśli trafiasz na punkt 2, możesz rozważyć użycie mniejszej liczby wątków (po pewnym momencie zbyt duża liczba wątków przyniesie więcej szkody niż pożytku) lub użycie puli połączeń, takiej jak c3p0 który utworzy tylko określoną liczbę połączeń i pozwoli wątkom je udostępniać. Używanie c3p0 jest ogólnie dobrym pomysłem i powinno również umożliwić szybsze wykrycie #1.

Trzecią opcją jest użycie abstrakcji wyższego poziomu, takiej jak JPA lub JDO, która zajmie się zarządzaniem połączeniami za Ciebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Generowanie soli Crypt() i szyfrowanie hasła, dobrze wykonane?

  2. Zainstaluj MySQL 5.6 na Ubuntu 20.04

  3. Znajdź następny miesiąc dla podanej daty w mysql

  4. Dane wielu zapytań w jednej tabeli HTML (PHP, MySQL)

  5. SQL:jak w tym przypadku tworzone jest zapytanie w kolejności sql