TimerTask
TimerTask是java.util包下的定时任务类。
创建一个任务类
继承TimerTask并实现自定的任务内容
public class GetWeatherTask extends TimerTask{
@Override
public void run() {
System.out.println("定时任务内容");
//业务逻辑
}
}
在主线程启动
timer.schedule(task, 2000,4000);
2000毫秒后开始执行,间隔4000毫秒执行一次。
public class TestTimerTask {
public static void main(String[] args) {
Timer timer=new Timer(); //闹钟对象
TimerTask task=new GetWeatherTask(); //任务对象
timer.schedule(task, 2000,4000);
}
运行结果
TimerTask的定时任务案例
每天4点执行操作
Timer timer=new Timer(); //闹钟对象
TimerTask task=new GetWeatherTask();//任务对象
Calendar cal=Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 4);
Date date=cal.getTime();
timer.schedule(task, date,24*60*60*1000);
和Java自带的TimerTask相比,Quartz要更加的灵活,并且可以集成进spring。
Quartz的使用和配置
任务类
实现Job接口,这里是具体的业务内容。
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJob implements Job{