1

实际上,我需要执行一个方法,该方法在每次机器重启时都需要数小时才能完成。我已经在 apache tomcat 上部署了我的 web 应用程序,并且我已经启用了 Apache tomcat 的自动启动。为此,我在 ServletContextListener contextInitialized 中调用了一个方法简单的java类。现在我的疑问是每次机器重新启动时都会执行contextInitialized中调用的方法。

这是我的 ServletContextListener 实现的类..

public class Startup implements ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent sce) {
}

public void contextInitialized(ServletContextEvent sce) {
    // Do your startup work here
    System.out.println("Started....");
    //captureCDRProcess();
    new Thread(new Runnable() {

        @Override
        public void run() {

            captureCDRProcess();
        }
    }).start();

}

这是我的 web.xml ..

 <listener>
    <listener-class>org.myapp.Startup</listener-class>
</listener>

请大家帮帮我..提前谢谢...

4

2 回答 2

2

已经在 apache tomcat 上部署了我的 web 应用程序,并且我已经启用了 Apache tomcat 的自动启动。

是的,每次启动 Tomcat 时,都会调用ServletContextListener's方法。contextInitialized

于 2013-11-15T10:27:02.493 回答
1

每次tomcat启动时都会执行该方法。

如果您不想要这个,您可以创建一个带有 main 方法的 .jar 库,您可以从 cron 中调用该方法,您可以在想要执行时对其进行编程。

于 2013-11-15T10:32:50.260 回答