sql >> Database >  >> RDS >> Mysql

Verbindingen zijn soms niet beschikbaar in c3p0

U heeft zeer waarschijnlijk een verbindingslek. Daar helpt een gigantisch zwembad niet echt bij. Zie hier .

Bijlage:idioom voor robuust opruimen van hulpbronnen

Het is het beste als u probeert met bronnen . Maar als u werkt met een oudere versie van Java (vóór Java 7), of met bronnen die AutoCloseable niet implementeren misschien moet je nog steeds naar dit soort dingen terugkeren.

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

Merk op dat de clausule finaal zeker zal worden uitgevoerd als de verbinding wordt verkregen, en er is een best-poging close() van elke bron:If or faalt om te sluiten(), die uitzondering zal de poging om de verbinding te sluiten() niet voorkomen.

Je moet heel voorzichtig zijn. Zoals Keynes het zo mooi verwoordde, is er veel misstap tussen de beker en de lip.




  1. Aantal rijen beïnvloed door een UPDATE in PL/SQL

  2. Bizarre fout bij het proberen verbinding te maken met de database

  3. Impact van de query_post_execution_showplan Extended Event in SQL Server 2012

  4. Spring data jpa findByDate retourneert altijd een lege lijst