【问题标题】:java web-application initialization and shutdownjava web应用程序初始化和关闭
【发布时间】:2010-12-06 11:48:33
【问题描述】:

我正在尝试实现 web 应用的初始化和关闭。这包括初始化和关闭:

  • 休眠 (v3.6);
  • C3P0 (v0.9.1.2);
  • EHCache (v2.3.0);
  • 石英 (1.8.4);
  • 其他特定于我的 web 应用的任务;

使用Tomcat 5.5.30和Java 6。我的想法是避免资源泄漏,主要是因为在开发环境中重新部署了webapp。

我应该如何实现这个?

【问题讨论】:

    标签: java web-applications initialization shutdown


    【解决方案1】:

    通常对于Web初始化和关闭,你会写一个ServletContextListener

    执行此操作的步骤是:

    1. 编写一个实现javax.Servlet.ServletContextListener的类
    2. web.xml部署描述符中添加一个标签来注册你刚刚创建的类
    3. 部署您的应用程序

    当您部署应用程序时,contextInitialized 方法将被调用。您可以在此处放置所需的所有初始化。在应用程序关闭时,contextDestroyed 方法将被调用。

    【讨论】:

    • 完美的解决方案,这正是我想要的 Web 应用程序
    【解决方案2】:

    也可以使用 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>
    

    该类可以覆盖init和destroy方法。

    【讨论】:

      【解决方案3】:

      但是您仍然希望以这样一种方式管理您的资源,即如果应用程序崩溃并且不调用正常的关闭例程,它们不会泄漏。

      【讨论】:

        猜你喜欢
        • 2016-11-28
        • 2012-05-03
        • 2013-06-16
        • 1970-01-01
        • 2013-01-20
        • 1970-01-01
        • 2021-07-30
        • 1970-01-01
        • 2021-05-07
        相关资源
        最近更新 更多