設定定時器——Tomcat啟動後開始執行

k_prince發表於2018-08-22

首先建立監聽器:

public class ScheduleListener implements ServletContextListener {
    private static ScheduledExecutorService service4Check;
    
    @Override
	public void contextInitialized(ServletContextEvent event) {		

		createSchedule();
	}
    
	private static void createSchedule() {
		
		CheckSchedule();
	}    
    
	private static void CheckSchedule() {
		service4Check=Executors.newScheduledThreadPool(1);
		service4Check.scheduleWithFixedDelay(new CheckTask(), 1000, 180*1000,
                   TimeUnit.MILLISECONDS);//每3分鐘執行一次

	}
    public class CheckTask extends TimerTask{
        @Override
	    public void run() {
            //要定時執行的任務
        }
    }    
}

然後在web.xml檔案中新增監聽器:

  <listener>
    <listener-class>com.xxx.ScheduleListener</listener-class>
  </listener>

啟動Tomcat後,該定時器會自動執行。

相關文章