本例依据Java自身提供的接口实现,通过监听器(Listener)和定时器(Timer)定时执行某个任务(Task)。
MyListener:
MyTask:
web.xml配置:
MyListener:
importjava.util.Timer;
importjavax.servlet.ServletContextEvent;
importjavax.servlet.ServletContextListener;
publicclassMyListenerimplementsServletContextListener{
privateTimertimer=null;
publicvoidcontextInitialized(ServletContextEventevent){
timer=newTimer(true);
//设置任务计划,启动和间隔时间
timer.schedule(newMyTask(),0,86400000);
}
publicvoidcontextDestroyed(ServletContextEventevent){
timer.cancel();
}
}
importjavax.servlet.ServletContextEvent;
importjavax.servlet.ServletContextListener;
publicclassMyListenerimplementsServletContextListener{
privateTimertimer=null;
publicvoidcontextInitialized(ServletContextEventevent){
timer=newTimer(true);
//设置任务计划,启动和间隔时间
timer.schedule(newMyTask(),0,86400000);
}
publicvoidcontextDestroyed(ServletContextEventevent){
timer.cancel();
}
}
MyTask:
importjava.util.TimerTask;
publicclassMyTaskextendsTimerTask{
publicvoidrun(){
//System.out.println("callat"+(newDate()));
//TODO此处添加具体任务代码
}
}
publicclassMyTaskextendsTimerTask{
publicvoidrun(){
//System.out.println("callat"+(newDate()));
//TODO此处添加具体任务代码
}
}
web.xml配置:
<listener>
<listener-class>com.fastunit.samples.listener.MyListener</listener-class>
</listener>
<listener-class>com.fastunit.samples.listener.MyListener</listener-class>
</listener>