1.测试用例java
package com.ninemax.application.quartz.version2; import org.quartz.CronScheduleBuilder; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerFactory; import org.quartz.SimpleScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; import com.ninemax.application.quartz.model.MyJob; @SuppressWarnings("all") public class SchedulerTest { public static void main(String[] args) { // 初始化调度器工厂SchedulerFactory SchedulerFactory schedulerFactory = new StdSchedulerFactory(); // 初始化调度器Scheduler Scheduler scheduler = null; try { // 建立一个调度器 scheduler = schedulerFactory.getScheduler(); // 建立jobDetail实例,绑定Job实现类 // 指明job的名称,所在组的名称,以及绑定job类 JobDetail job = JobBuilder .newJob(MyJob.class) .withIdentity("job1", "jgroup1") .build(); // 定义调度触发规则 // 使用simpleTrigger规则(调用了9次) Trigger trigger1 = TriggerBuilder .newTrigger() .withIdentity("SimpleTrigger", "triggerGroup") .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8)) .startNow() .build(); //使用cornTrigger规则 天天10点42分 Trigger trigger2=TriggerBuilder .newTrigger() .withIdentity("CornTrigger", "triggerGroup") .withSchedule(CronScheduleBuilder.cronSchedule("0 42 10 * * ? *")) .startNow() .build(); //把做业和触发器注册到任务调度中 scheduler.scheduleJob(job,trigger1); //启动调度 scheduler.start(); } catch (Exception e) { e.printStackTrace(); } } }
2.domainapp
package com.ninemax.application.quartz.model; import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class MyJob implements Job { @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { System.out.println("Quartz测试时间:" + new Date()); } }
3.运行结果:已忽略dom
remark:ide
Quartz1.0和Quartz2.0版本有很大的区别:测试
1.0利用类ui
2.0利用接口code