在开发的过程中,有时候需要java实现job功能,定时开启或者每个一段时间重复一个任务。
本文就写一个简单的java job功能
1.首先需要job的执行内容写出来。job类需要继承java.util.TimerTask类
import java.util.TimerTask;
public class TestJob extends TimerTask{
@Override
public void run() {
System.out.println("执行今天的任务");
}
}
继承后需要实现run()方法,开起来有点像线程方法,其实也就是开了一个线程来执行job内容,TImerTask实现的是Runnable接口。
2.任务类完成后,需要创建一个计时器来监控你设置开始任务的时间,到某个时间或者每隔一段时间执行任务
Timer类就可以完成计时的功能,Timer类的shedule可以执行job任务。
Timer timer=new Timer();
timer.schedule(TimerTask task,Date time);
timer.schedule(TimerTask task,long delay);
timer.schedule(TimerTask task,Date firstTime,long period);
timer.schedule(TimerTask task,long delay,long period);
Test:测试程序
实现从零时开始,每天都执行任务
public static void main(String[] args) {
Timer timer = new Timer();
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR_OF_DAY, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
timer.schedule(new TestJob(), date, 1000*60*60*24);
}