步驟:
一、實現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>