Sie haben sehr wahrscheinlich ein Verbindungsleck. Eine gigantische Poolgröße wird da nicht wirklich helfen. Siehe hier .
Anhang:Robust Resource Cleanup Idiom
Wenn Sie können, verwenden Sie am besten versuchen Sie es mit Ressourcen
. Wenn Sie jedoch mit einer älteren Version von Java (vor Java 7) oder mit Ressourcen arbeiten, die AutoCloseable
nicht implementieren Möglicherweise müssen Sie immer noch auf diese Art von Dingen zurückgreifen.
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(); }
}
Beachten Sie, dass die finally-Klausel definitiv ausgeführt wird, wenn die Connection erworben wird, und dass es für jede Ressource einen bestmöglichen Versuch gibt, close() zu schließen:If or
kann nicht geschlossen werden (), verhindert diese Ausnahme nicht den Versuch, die Verbindung zu schließen ().
Sie müssen sehr vorsichtig sein. Wie Keynes es berühmt ausdrückte, gibt es viele Ausrutscher zwischen Tasse und Lippe.