java web-application initialization and shutdown

ChRoNoN picture ChRoNoN · Dec 6, 2010 · Viewed 8.5k times · Source

I'm trying to implements initialization and shutdown of a webapp. That includes initialization and shutdown of:

  • Hibernate (v3.6);
  • C3P0 (v0.9.1.2);
  • EHCache (v2.3.0);
  • Quartz (1.8.4);
  • Other tasks specific to my webapp;

Using Tomcat 5.5.30 and Java 6. My idea is to avoid resource leaking, mostly because of the redeploy of the webapp in the development environment.

How should I implement this?

Answer

Pablo Santa Cruz picture Pablo Santa Cruz · Dec 6, 2010

Usually for Web initialization and shutdown, you will write a ServletContextListener.

The steps to do this are:

  1. Write a class that implements javax.Servlet.ServletContextListener
  2. Add a tag to web.xml deployment descriptor to register the class you've just created
  3. Deploy your application

When you deploy your application, contextInitialized method will be called. You can place all initialization you want here. On application shutdown contextDestroyed method will be called.