2013-11-15 14 views
1

實際上,我有要求執行一個方法,每個機器重新啓動需要幾個小時才能完成。我已經在apache tomcat上部署了我的web應用程序,並且啓用了自動啓動Apache tomcat 。爲此,我在一個簡單的java類中調用了ServletContextListener contextInitialized中的一個方法。現在我懷疑在每次重新啓動計算機時,contextInitialized中調用的方法都會執行。ServletContextListener是否調用每次機器重啓時調用的方法

這裏是我的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> 

請你們幫助我.. 在此先感謝...

+1

難道你不能通過重新啓動並查看是否有任何東西被記錄了嗎? (是的,我希望它會發生......) –

+0

沒錯。 *爲什麼*你對此有任何疑問?你不瞭解規範的哪一部分? – EJP

回答

2

已經在apache tomcat上部署了我的web應用程序,並且啓用了Apache tomcat的自動啓動。

是的,對於Tomcat的每個開始,ServletContextListenercontextInitialized方法調用。

1

該方法將在每次tomcat啓動時執行。

如果你不想要這個,你可以用一個main方法創建一個.jar庫,你可以從你想要執行的cron中調用它。

相關問題