1.写一个定时任务类
package cn.test;
import java.util.TimerTask;
public class MyTimer extends TimerTask{
@Override
public void run() {
System.out.println("这是我的第一个任务哦//"); //可以在此直接做业务处理
mytest2();
}
public static void mytest2(){
System.out.println("这是我的第二个任务哦"); //也可以另写方法进行业务处理
}
}
2.写一个监听器类
package cn.test;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* 监听器
* @author Administrator
*/
public class SysListener implements ServletContextListener{
private Timer timer=null;
public void contextInitialized(ServletContextEvent sce) {//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
timer=new Timer(true);
timer.scheduleAtFixedRate(new MyTimer(), 0,3000);//调用MyTimer,0表示任务无延迟,1*1000表示每隔1秒执行任务,60*60*1000表示一个小时。
}
//在这里关闭监听器,所以在这里销毁定时器 ,关闭服务器时执行此方法,如果关闭服务器没有执行此方法,则不要通过杀进程的方式来关闭服务器(eclipse里面就是那个红色小方块)
//在服务器上右键选择正常关闭就可以了
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("关闭监听器…………。");
}
}
3.在web.xml配置监听器
<!-- 配置监听器 -->
<listener>
<listener-class>cn.test.SysListener</listener-class>
</listener>