Conexión de base de datos no cerrada a pesar de declaraciones cercanas

Su método de limpieza podría fallar al cerrar una SQLConnection dada si intenta cerrar también un ResultSet y / o una Declaración de antemano. por ejemplo, si el ResultSet falla y produce una SQLException, saltará directamente al bloque catch, sin siquiera intentar cerrar la conexión. ¿Hay errores al cerrar una conexión en su registro?

Para evitar ese problema, proporcione métodos de limpieza dedicados que solo intenten cerrar una sola cosa o ajuste cada intento de cerrar algo. dentro de su propio bloque try / catch. El mismo consejo se aplica a los diversos métodos close y closeQuietly.

// editar

Esta sección del código es probablemente dañina. En getNativeConnection (String jndiName):

DataSource ds = (DataSource)envCtx.lookup(jndiName);
conn = ds.getConnection();
if (conn instanceof org.apache.commons.dbcp.DelegatingConnection) { 
   log.debug("detected apache commons dbcp datasource");          
   conn = ((org.apache.commons.dbcp.DelegatingConnection)conn).getInnermostDelegate();      
}

DelegatingConnection parece ser un proxy que maneja la agrupación de la conexión. Cuando está desenvolviendo la conexión "nativa", el DelegatingConnection-Proxy no es notificado cuando la conexión está cerrada y no puede devolverla al grupo. De esa manera, la piscina se llena con conexiones cerradas hasta que se alcanza el límite.

Respuesta 1

ArrayList <HashMap <String, String >> menuItems = new ArrayList <HashMap <String, String >> (); Analizador XMLParser = nuevo XMLParser (); Cadena xml = parser.getXmlFromUrl (url); // consiguiendo ...

Tengo curiosidad sobre cuál es la mejor manera de hacer una reescritura de URL, en una aplicación Java. Digamos que tiene una aplicación llamada test_app, y la implemento en tomcat. Por reescritura de URL quiero decir que en lugar de acceder a la aplicación ...

https://api.twitter.com/1.1/account_activity/all/prod/webhooks.json?url=https://test.com no funciona. He seguido todos los pasos para crear una nueva aplicación y obtener la clave del consumidor, claves secretas. y ...

Necesito crear programáticamente un diseño DialogFragment, pero no sé cómo proceder. No puedo usar el diseño xml porque DialogFragment será parte del archivo JAR de código cerrado. Diálogos normales ...