¿Cómo mejor depurar las fugas de connection JDBC en Glassfish v2?

¿Alguien tiene algún buen consejo sobre la debugging de fugas de connection en GlassFish?

Actualmente estoy depurando un server GlassFish que contiene una aplicación que tiene memory leaks esporádicamente, eventualmente conduce a tener que reiniciar el server para liberar la piscina (purga de la piscina sólo está disponible en Glassfish 3 me dijeron).

Cuando depuro este tipo de errores hoy miro a través del logging del server alnetworkingedor del time cuando puedo ver que nuestro monitoreo ha informado de que la piscina ha crecido y ver si hay algún error interesante o similar alnetworkingedor de este punto.

¿Alguien tiene alguna forma mejor de depurar problemas como estos?

Todas las aplicaciones son EJB / EAR que utilizan la anotación para inyectar bases de datos. Las aplicaciones a continuación, utilizar el origen de datos para get una connection. Por supuesto, cada connection se supone que debe ser cerrada por los progtwigdores, pero supongo que alguien se ha olvidado en un caso aquí.

2 Solutions collect form web for “¿Cómo mejor depurar las fugas de connection JDBC en Glassfish v2?”

Creo que una buena manera de localizar memory leaks es adjuntar VisualVM al process Java en ejecución (en este caso una instancia de GF) y mirar el tree de reference de volcados de montón.

Otra manera que viene a mi mente, pero requiere un poco de trabajo, sería escribir su propia connection / envoltura de la piscina de la connection y registrar un rastro de la stack cada vez que la connection se toma de la piscina así como cerrada.

Puede configurar las opciones de "Recuperación de fugas de connection" para las agrupaciones de conexiones y puede get trazas de stack completas indicando las causas raíz en un logging de server.

Consulte la página de documentation – http://docs.oracle.com/cd/E19879-01/820-4335/geveg/index.html .

  • Configuración de jdbc-pool (tomcat 7)
  • ORA-12505, TNS: el oyente no conoce actualmente SID después de cambiar el número de puerto
  • ¿Cómo utilizar JDBC Connection Pooling sin JNDI DataSource? (en Apache Tomcat)
  • el cliente mysql no puede leer el resultado de la consulta?
  • Solr list todos los loggings pero fq hace coincidir los loggings primero
  • mysql Pérdida de datos después del reinicio del server
  • Diferencias entre classes12.jar, ojdbc14.jar, ojdbc5.jar y ojdbc6.jar
  • la aplicación web no puede conectarse a la database
  • No se puede conseguir que Glassfish 3.1.2.2 utilice otra cosa que no sea jdbc / __ TimerService para el service Timer de EJB
  • Error de enlace de comunicación JDBC. configuration iptable
  • MySQL Tablas Federadas Tablas Escapadas
  • Impacto en el performance de SQL 2000 de JDBC selectMethod = cursor
  • Configurar MSSQL 2008 para usar la authentication kerberos
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.