sql >> Databáze >  >> RDS >> Mysql

Připojení někdy není v c3p0 k dispozici

Velmi pravděpodobně máte netěsné připojení. Gigantická velikost bazénu s tím opravdu nepomůže. Viz zde .

Příloha:Styl robustního čištění zdrojů

Nejlepší je, když můžete použít zkuste zdroje . Pokud však pracujete se starší verzí Javy (před Java 7) nebo se zdroji, které neimplementují AutoCloseable možná se stále budete muset vrátit k tomuto druhu věcí.

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(); }
}

Všimněte si, že klauzule final bude určitě provedena, pokud je získáno připojení, a existuje nejlepší pokus close() každého zdroje:Pokud or selže close(), tato výjimka nezabrání pokusu o uzavření() theConnection.

Musíte být velmi opatrní. Jak to řekl Keynes skvěle, dochází k mnoha uklouznutí 'po šálku a rtu.




  1. Hlavní použití sys.dm_os_wait_stats

  2. Problém s projektem JPA v Eclipse - chyba ve třídě anotovaná @Entity:Tabulku xxx nelze vyřešit

  3. Postgres - FATAL:databázové soubory nejsou kompatibilní se serverem

  4. Jak používat Relation::morphMap() pro různé třídy