Es es Hallowe'en después de todo.Zombie threads comiendo mi brainz (J2EE, Tomcat, Hibernate, Quartz)
Aquí está el problema: estoy manteniendo un código J2EE viejo, usando Quartz, en el que me estoy quedando sin hilos. jconsole
me dice que hay pocos hilos de 60K cuando va en forma de pera, de los cuales aproximadamente 100 (!!) se están ejecutando. La intuición y algo de google (ver también here) sugieren que lo que está sucediendo es algo (apuesto a que Quartz) es crear hilos no administrados que nunca se limpian.
varias preguntas secundarias:
Se Existe una herramienta que pueda utilizar fácilmente para trazar la creación del hilo, por lo que puede estar seguro de la cuestión es realmente cuarzo?
Casi todo lo que he encontrado sobre problemas similares hace referencia a Weblogic; ¿Es esto una falsa pista para Tomcat?
¿Alguien tiene una solución conocida?
Han pasado años desde que hice J2EE, así que no me sorprendería mucho si esto es algo que se puede resolver de manera simple.
actualización: Está aumentando claramente hilos sin límite, consulte esta parcela de jconsole.
They're dead, Jim http://i35.tinypic.com/33vnarn.png
¿Observa algún patrón en los nombres de los hilos?Sospecho que el problema es que el código que usa Quartz, no el cuarzo en sí –
+1 para el título, me dice todo lo que necesitaba saber. ¿Has probado la escopeta? – Anthony
Matt, estoy muy desactualizado con las herramientas de depuración de JEE (solo hice una pregunta por separado para recomendaciones: http://stackoverflow.com/questions/1650881/state-of-the-art-in-j2ee-debugging-and -monitoring-tools/1650922 # 1650922) así que todavía no. Pero hay un error conocido de Quartz que provoca que genere hilos no administrados. –