我正在尝试实现web应用程序的初始化和关闭。这包括以下内容的初始化和关闭:
- Hibernate (v3.6);
- C3P0 (v0.9.1.2);
- EHCache (v2.3.0);
- Quartz (1.8.4);
- 其他特定于我的Web应用程序的任务;
使用Tomcat 5.5.30 和Java 6。我的想法是避免资源泄漏,主要是由于在开发环境中重新部署web应用程序造成的。
我应该如何实现这个功能呢?
我正在尝试实现web应用程序的初始化和关闭。这包括以下内容的初始化和关闭:
使用Tomcat 5.5.30 和Java 6。我的想法是避免资源泄漏,主要是由于在开发环境中重新部署web应用程序造成的。
我应该如何实现这个功能呢?
通常在Web应用程序初始化和关闭时,您需要编写一个ServletContextListener。
实现此操作的步骤如下:
javax.Servlet.ServletContextListener
web.xml
部署描述符中添加标记以注册您刚刚创建的类当您部署您的应用程序时,将调用contextInitialized
方法。您可以在此处放置所有您想要进行的初始化。在应用程序关闭时,contextDestroyed
方法将被调用。
也可以使用HTTP Servlet,但监听器是更好的选择。
您需要继承一个类HttpServlet并将以下内容设置为您的web.xml:
<servlet>
<servlet-name>StartupServlet</servlet-name>
<servlet-class>your.package.servlets.StartupServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
但是你仍然希望以这样的方式管理资源,使得如果应用程序崩溃或正常关闭过程未被调用,它们不会泄漏。