2012-01-10 16 views
6

Implemento un ServletContextListener personalizado y coloco los puntos de interrupción tanto en contextInitialized() como en contextDestroyed().Depurar ServletContextListener.contextDestroyed() estableciendo el punto de ruptura en eclipse

Al iniciar la aplicación web con WTP, el depurador puede detener contextInitialized(). Pero cuando apago la aplicación web, los puntos de interrupción en el contextDestroyed() no funcionan y la aplicación web simplemente se apaga. ¿Es posible y cómo usar el depurador para depurar contextDestroyed() en eclipse?

Quiero comprobar si el recurso utilizado se puede liberar correctamente durante el cierre de la aplicación web.

+0

¿Intentó crear un nuevo proyecto de webapp vacío y tratar de depurar contextDestroyed? – ozhan

Respuesta

12

El contextDestroyed() solamente se llamará cuando se cierra con gracia el servidor mediante la apertura de los Servidores vista y botón derecho en la instancia del servidor y eligiendo parada, o pulsando el botón rojo en las Servidores vista cuya descripción emergente dice Detener el servidor.

Será no ser llamado cuando termine el servidor por completo pulsando el botón rojo en el vista consola cuya descripción emergente dice Terminar. Terminar (matar) no es lo mismo que detenerse.

+0

Balusc: Como el código en el método contextDestroyed() no se ejecuta debido a la terminación (muerte), ¿se destruirán todos los objetos que se están inicializando en el método contextInitialized()? – srk

Cuestiones relacionadas