Es muy probable que tenga una fuga de conexión. Un tamaño de piscina gigante realmente no ayudará con eso. Consulte aquí .
Apéndice:Modismo de limpieza robusta de recursos
Es mejor cuando puede usar probar con recursos
. Pero si está trabajando con una versión anterior de Java (anterior a Java 7) o con recursos que no implementan AutoCloseable
es posible que aún tenga que volver a este tipo de cosas.
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(); }
}
Tenga en cuenta que la cláusula finalmente se ejecutará definitivamente si se adquiere la conexión, y hay un mejor intento de cierre () de cada recurso:si or
no se cierra(), esa excepción no evitará el intento de cerrar() la conexión.
Tienes que ser muy cuidadoso. Como dijo Keynes, hay muchos deslices entre la copa y el labio.