简单回顾一下上一节学习到的 "HelloWorld "
1 创建一个job类,实现Job接口,覆盖 public void execute(JobExecutionContext context) 方法,在方法中写入你要执行的操作(数据导入/备份,轮询检查文件等)代码
2 创建一个主线程类, 获得 Scheduler 对象
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
获得要执行的对象 JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();
定义触发器 Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();
将任务和Trigger放入scheduler :
sched.scheduleJob(job, trigger);
启动 和 停止
sched.start(); sched.shutdown(true);
注意 给job 留有足够长的时间,如果主线程类停止工作,job线程也会停止工作
------------------------------------------------我是分割线--------------------------------------------------------
经过了 "HelloWorld" 之后,您老人家可能对 Quartz 有所了解,下面让我们继续深入,学习下Quartz 重复执行任务该怎么做
简单的说就是 触发器(Trigger)的参数设置. 什么? 触发器(Trigger)不知道是什么?
出门左转 <<作业调度框架 Quartz 学习笔记(一)>> 不谢
还是老套路,一个job 类,一个主线程类
SimpleJob.java
public class SimpleJob implements Job {
@Override
public void execute(JobExecutionContext context)
throws JobExecutionException {
// job 的名字
String jobName = context.getJobDetail().getKey().getName();
// 任务执行的时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
String jobRunTime = dateFormat.format(Calendar.getInstance().getTime());
// 输出任务执行情况
System.out.println("任务 : " + jobName + " 在 " +jobRunTime + " 执行了 ");
}
}
在这里 对输出 的日期进行了一小下 格式化,适应国人习惯.
其它没什么好说的 0.0
SimpleTriggerExample.java
import static org.quartz.DateBuilder.futureDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.JobKey.jobKey;
import static