依据Java自身提供的接口实现,通过监听器(Listener)和定时器(Timer)定时执行某个任务(Task),执行步骤:
1、创建定时任务
继承(extends)父类:TimerTask,同时实现方法public void run() {//任务}
package vivi.servlet.timer.task;
import java.util.TimerTask;
public class Task extends TimerTask{
@Override
public void run() {
//指定定时实现的任务
System.out.println("call at " + (new java.util.Date()));
}
}
2、创建一个监听器
实现(implements)接口:ServletContextListener,实现方法:
public void contextDestroyed(ServletContextEvent arg0) {}
public void contextInitialized(ServletContextEvent arg0) {}
package vivi.servlet.timer.task;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TaskListenr implements ServletContextListener{
private Timer timer = null;
@Override
public void contextDestroyed(ServletContextEvent arg0) {
timer.cancel();
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
timer = new Timer(true);
//设置任务计划,启动和间隔时间
timer.schedule(new Task(), 0, 5000);
}
}
3、配置监听器
在系统应用的配置文件中,配置监听器。
<listener>
<listener-class>vivi.servlet.timer.task.TaskListenr</listener-class>
</listener>