2012-03-20 31 views
5

Tomcat es famoso por la pérdida de cargador de clase que ocurre en las redistribuciones repetidas de una aplicación. Por lo general, se centran en la clase de registrador. Reasignaciones repetidas terminan causando errores Perm Gen.¿Tomcat 7 mejora la situación de fuga de Classloader de Tomcat 6?

Sé que esto tiende a ser un gran problema en Tomcat 6. ¿Es mejor en Tomcat 7?

En una nota al margen, ¿alguien tiene algún recurso bueno para manejar fugas del cargador de clases. ¿La situación es mejor con otros servidores?

+1

¿Rebotó el servidor cuando implementó la aplicación? – sourcedelica

+0

@ericacm ¡Eso es lo estándar para hacer! Sin embargo, estoy buscando evitar eso. Especialmente si el servidor tiene múltiples aplicaciones en él. – Joe

Respuesta

5

Bueno, esto no es realmente causado por Tomcat sino más bien por las aplicaciones que utilizan ThreadLocal s, en su defecto dar de baja los controladores JDBC o parando hilos personalizados, etc. Tomcat 6 introdujo un mecanismo de detección de pérdida de memoria, Tomcat 7 mejoró significativamente: MemoryLeakProtection .

Con respecto a fugas de registradores, eche un vistazo a Taxonomy of class loader problems encountered when using Jakarta Commons Logging muy completo.