实际上我需要执行一个方法,每次重启机器都需要几个小时才能完成。我已经在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>
请大家帮帮我.. 提前谢谢......
答案 0 :(得分:2)
已经在apache tomcat上部署了我的web应用程序,并且我启用了Apache tomcat的自动启动。
是的,对于Tomcat的每次启动,ServletContextListener
的{{1}}方法都会调用。
答案 1 :(得分:1)
每次tomcat启动时都会执行该方法。
如果您不想这样做,可以使用方法main创建一个.jar库,您可以从要在其中执行时编程的cron调用它。