Quartz 核心
1. Job : 实现Job接口,execute()方法。 (StatefulJob接口为有状态Job: 根据上一作业结果判断执行之后的作业)
2. Trigger : scheduler 到时调用它,然后它调用指定定时程序 (SimpleTrigger, CronTrigger)
3. JobDetail : 定时程序描述
4. JobExecutionContext :
5. JobDataMap :
6. JobListener, TriggerListener :
7. JobStore :
1 package cn.com.quartz;
2
3 import java.util.Date;
4
5 import org.quartz.JobDetail;
6 import org.quartz.Scheduler;
7 import org.quartz.SchedulerException;
8 import org.quartz.SchedulerFactory;
9 import org.quartz.Trigger;
10 import org.quartz.TriggerUtils;
11 import org.quartz.impl.StdSchedulerFactory;
12
13 public class T001 {
14 public void test001() throws SchedulerException {
15 SchedulerFactory schedFact = new StdSchedulerFactory();
16 Scheduler sched = schedFact.getScheduler();
17 sched.start();
18
19 JobDetail jobDetail = new JobDetail("myJob", null, T002.class); // DumbJob
20
21 // ===================== JobDataMap
22 jobDetail.getJobDataMap().put("jobSays", "Hello World!");
23 // =====================
24
25 Trigger trigger = TriggerUtils.makeHourlyTrigger();
26 trigger.setStartTime(TriggerUtils.getEvenHourDate(new Date()));
27 trigger.setName("myTrigger");
28
29 sched.scheduleJob(jobDetail, trigger);
30 }
31
32 public static void main(String[] args) {
33 try {
34 Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
35
36 scheduler.start(); // start
37 scheduler.shutdown(); // end
38 } catch (SchedulerException e) {
39 e.printStackTrace();
40 }
41 }
42 }
43
2
3 import java.util.Date;
4
5 import org.quartz.JobDetail;
6 import org.quartz.Scheduler;
7 import org.quartz.SchedulerException;
8 import org.quartz.SchedulerFactory;
9 import org.quartz.Trigger;
10 import org.quartz.TriggerUtils;
11 import org.quartz.impl.StdSchedulerFactory;
12
13 public class T001 {
14 public void test001() throws SchedulerException {
15 SchedulerFactory schedFact = new StdSchedulerFactory();
16 Scheduler sched = schedFact.getScheduler();
17 sched.start();
18
19 JobDetail jobDetail = new JobDetail("myJob", null, T002.class); // DumbJob
20
21 // ===================== JobDataMap
22 jobDetail.getJobDataMap().put("jobSays", "Hello World!");
23 // =====================
24
25 Trigger trigger = TriggerUtils.makeHourlyTrigger();
26 trigger.setStartTime(TriggerUtils.getEvenHourDate(new Date()));
27 trigger.setName("myTrigger");
28
29 sched.scheduleJob(jobDetail, trigger);
30 }
31
32 public static void main(String[] args) {
33 try {
34 Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
35
36 scheduler.start(); // start
37 scheduler.shutdown(); // end
38 } catch (SchedulerException e) {
39 e.printStackTrace();
40 }
41 }
42 }
43