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

Połączenia nie są czasami dostępne w c3p0

Najprawdopodobniej masz wyciek połączenia. Gigantyczny rozmiar basenu nie pomoże w tym. Zobacz tutaj .

Dodatek:idiom solidnego czyszczenia zasobów

Najlepiej, gdy możesz użyć wypróbuj z zasobami . Ale jeśli pracujesz ze starszą wersją Javy (przed Java 7) lub z zasobami, które nie implementują AutoCloseable być może będziesz musiał wrócić do tego rodzaju rzeczy.

Connection c     = null;
OtherResource or = null;

try
{
   c  = cpds.getConnection();
   or = getOtherResource()

   // do stuff
   // ...
}
finally
{
  try { if (or != null) or.close(); }
  catch (Exception e) { e.printStackTrace(); }

  try { if (c != null) c.close(); }
  catch (Exception e) { e.printStackTrace(); }
}

Zwróć uwagę, że klauzula finally zostanie na pewno wykonana, jeśli połączenie zostanie nabyte, a dla każdego zasobu dostępna jest najlepsza próba close():If or nie uda się zamknąć(), ten wyjątek nie zapobiegnie próbie zamknięcia() połączenia.

Musisz być bardzo ostrożny. Jak to ujął Keynes, między filiżanką a wargą zdarza się wiele potknięć.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. baza danych mysql inżynierii wstecznej do tworzenia aplikacji django

  2. Jak obliczyć procent kolumny w MySQL?

  3. Jak pobrać dane z mysql do chart.js

  4. Łączenie 2 relacji jeden do wielu

  5. przesyłanie wielu formatów plików na serwer za pomocą jsp i przechowywanie ścieżki w bazie danych