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.