欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

java编写定时器,定时执行某个方法

程序员文章站 2022-05-28 10:00:07
...
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中文网!

相关标签: java定时器