2010-12-06 14 views
10

Estoy tratando de implementar la inicialización y el apagado de una aplicación web. Eso incluye la inicialización y el apagado de:inicialización y apagado de la aplicación web java

  • Hibernate (v3.6);
  • C3P0 (v0.9.1.2);
  • EHCache (v2.3.0);
  • Cuarzo (1.8.4);
  • Otras tareas específicas de mi aplicación web;

Uso de Tomcat 5.5.30 y Java 6. Mi idea es evitar la fuga de recursos, principalmente debido a la redistribución de la aplicación web en el entorno de desarrollo.

¿Cómo debo implementar esto?

Respuesta

19

Normalmente para la inicialización y el apagado web, escribirá un ServletContextListener.

Los pasos para hacer esto son:

  1. escribir una clase que implementa javax.Servlet.ServletContextListener
  2. Añadir una etiqueta para web.xml descriptor de despliegue para registrar la clase que acaba de crear
  3. implementar la aplicación

Al implementar su aplicación, se llamará al método contextInitialized. Puede colocar toda la inicialización que desee aquí. Al cerrar la aplicación, se llamará al método contextDestroyed.

+2

Eso funciona perfectamente, gracias. –

+2

Solución perfecta, era exactamente lo que quería para mi aplicación web –

0

Pero todavía desea administrar sus recursos de tal manera que no se filtren si la aplicación falla y las rutinas normales de apagado no son llamadas.

0

También es posible utilizar el Servlet HTTP en su lugar, pero el oyente es una mejor opción.

Usted tiene que extender una clase con HttpServlet y estableciendo el siguiente material para su web.xml:

<servlet> 
    <servlet-name>StartupServlet</servlet-name> 
    <servlet-class>your.package.servlets.StartupServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

La clase se puede sobrescribir el inicio y el método destroy.

Cuestiones relacionadas