Tomcat下的定時任務

步驟:

一、實現javax.servlet.ServletContextListener接口

package com.wwm.tomacttimer;

import java.util.Timer;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class TimerDemo implements ServletContextListener
{
    private Timer timer = null;
	//在服務器關閉的時候執行
	public void contextDestroyed(ServletContextEvent event)
	{
	    if (timer != null) 
	    {
            timer.cancel();
            event.getServletContext().log("定時器已銷燬");
        } 
	}
	//在服務器啓動的時候執行
	public void contextInitialized(ServletContextEvent event) 
	{
		timer = new Timer(true);  //在這裏初始化監聽器,在tomcat啓動的時候監聽器啓動,可以在這裏實現定時器功能 
		event.getServletContext().log("定時器已啓動"); 
		timer.schedule(new myTask(),2000,(5*1000));
		event.getServletContext().log("任務已經添加!");  
	}
}
二、實現執行任務類

package com.wwm.tomacttimer;

import java.util.TimerTask;

public class myTask extends TimerTask 
{
    private static boolean isRunning = false;

    @Override
    public void run() 
    {
        if (!isRunning) 
        {
            isRunning = true;
            //執行任務
            System.out.println("---"+System.currentTimeMillis());
            
            isRunning = false;
//           System.out.println("本次任務結束");
        } 
        else
        {
        	System.out.println("上次任務還在執行");
        }
    }
}
三、然後在web.xml中配置listner
 <!-- 定時監聽器 -->
  <listener>
     <listener-class>com.wwm.tomacttimer.TimerDemo</listener-class>
  </listener>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章