Rumah >Java >javaTutorial >java编写定时器,定时执行某个方法
java编写定时器,定时执行某个方法
第一步:编写测试类,该类extends TimerTask,重新run()方法,run方法里面就是你要执行的逻辑代码,示例如下:
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimerTask;
public class MyTest1 extends TimerTask {
private SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
@Override
public void run() {
System.out.println("现在时间是:"+sf.format(new Date()));
//此处编写程序逻辑代码
}
}
第二步:编写一个类,该类实现ServletContextListener接口
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TimerTaskManager implements ServletContextListener {
private Timer timer;
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("程序定时执行任务.....................................");
MyTest1 t=new MyTest1();
timer=new Timer("开始执行任务",true);//
timer.schedule(t, 0, 1000);//执行MyTest1中的run方法,t代表TimerTask的子类,0代表延迟0毫秒执行run方法,1000表示每隔一秒执行一次run方法,后面两个参数可根据自己的需求而定义
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("程序定时执行任务结束.....................................");
timer.cancel();
}
}
第三步:在web.xml中添加如下代码里面填写TimerTaskManager的路径,程序在web容器启动后会初始化加载TimerTaskManager的contextInitialized方法:
加listener标签,listener里面加listener-class标签,listener-class标签里面内容为TimerTaskManager的路径,如:com.TimerTaskManager
更多java编写定时器,定时执行某个方法 相关文章请关注PHP中文网!