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.