欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
不同版本测试:
1.8.6jar包:
[html]
package com.test;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
* 需要执行的任务
* @author lhy
*
*/
public class MyJob implements Job {
@Override
//把要执行的操作,写在execute方法中
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println(“测试Quartz”+new Date());
}
}
package com.test;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
* 需要执行的任务
* @author lhy
*
*/
public class MyJob implements Job {
@Override
//把要执行的操作,写在execute方法中
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println(“测试Quartz”+new Date());
}
}
使用SimpleTrigger触发器
[html]
package com.test;
import java.util.Date;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
/**
* 调用任务的类
* @author lhy
*
*/
public class SchedulerTest {
public static void main(String[] args) {
//通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory=new StdSchedulerFactory();
Scheduler scheduler=null;
try{
// 通过schedulerFactory获取一个调度器
scheduler=schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail jobDetail=new JobDetail(“job1”, “jgroup1”, MyJob.class);
// 定义调度触发规则,比如每1秒运行一次,共运行8次
SimpleTrigger simpleTrigger=new SimpleTrigger(“simpleTrigger”,”triggerGroup”);
// 马上启动
simpleTrigger.setStartTime(new Date());
// 间隔时间
simpleTrigger.setRepeatInterval(1000);
// 运行次数
simpleTrigger.setRepeatCount(8);
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(jobDetail, simpleTrigger);
// 启动调度
scheduler.start();
}catch(SchedulerException e){
e.printStackTrace();
}
}
}
package com.test;
import java.util.Date;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
/**
* 调用任务的类
* @author lhy
*
*/
public class SchedulerTest {
public static void main(String[] args) {
//通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory=new StdSchedulerFactory();
Scheduler scheduler=null;
try{
// 通过schedulerFactory获取一个调度器
scheduler=schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail jobDetail=new JobDetail(“job1”, “jgroup1”, MyJob.class);
// 定义调度触发规则,比如每1秒运行一次,共运行8次
SimpleTrigger simpleTrigger=new SimpleTrigger(“simpleTrigger”,”triggerGroup”);
// 马上启动
simpleTrigger.setStartTime(new Date());
// 间隔时间
simpleTrigger.setRepeatInterval(1000);
// 运行次数
simpleTrigger.setRepeatCount(8);
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(jobDetail, simpleTrigger);
// 启动调度
scheduler.start();
}catch(SchedulerException e){
e.printStackTrace();
}
}
} 若使用CornTrigger触发器:
[html]
package com.test;
import java.util.Date;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
/**
* 调用任务的类
* @author lhy
*
*/
public class CronTriggerTest {
public static void main(String[] args) {
//通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory=new StdSchedulerFactory();
Scheduler scheduler=null;
try{
// 通过schedulerFactory获取一个调度器
scheduler=schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail jobDetail=new JobDetail(“job1”, “jgroup1”, MyJob.class);
// 定义调度触发规则,每天上午10:15执行
CronTrigger cornTrigger=new CronTrigger(“cronTrigger”,”triggerGroup”);
// 执行规则表达式
cornTrigger.setCronExpression(“0 15 10 * * ? *”);
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(jobDetail, cornTrigger);
// 启动调度
scheduler.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
package com.test;
import java.util.Date;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
/**
* 调用任务的类
* @author lhy
*
*/
public class CronTriggerTest {
public static void main(String[] args) {
//通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory=new StdSchedulerFactory();
Scheduler scheduler=null;
try{
// 通过schedulerFactory获取一个调度器
scheduler=schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail jobDetail=new JobDetail(“job1”, “jgroup1”, MyJob.class);
// 定义调度触发规则,每天上午10:15执行
CronTrigger cornTrigger=new CronTrigger(“cronTrigger”,”triggerGroup”);
// 执行规则表达式
cornTrigger.setCronExpression(“0 15 10 * * ? *”);
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(jobDetail, cornTrigger);
// 启动调度
scheduler.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
对于2.0.2jar包如下:
其中的job类不变,主要是调度类如下:
[html]
package com.test;
import java.util.Date;
import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
/**
* 调用任务的类
* @author lhy
*
*/
public class SchedulerTest {
public static void main(String[] args) {
//通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory=new StdSchedulerFactory();
Scheduler scheduler=null;
try{
// 通过schedulerFactory获取一个调度器
scheduler=schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail job=JobBuilder.newJob(MyJob.class).withIdentity(“job1”, “jgroup1”).build();
// 定义调度触发规则
// 使用simpleTrigger规则
// Trigger trigger=TriggerBuilder.newTrigger().withIdentity(“simpleTrigger”, “triggerGroup”)
// .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8))
// .startNow().build();
// 使用cornTrigger规则 每天10点42分
Trigger trigger=TriggerBuilder.newTrigger().withIdentity(“simpleTrigger”, “triggerGroup”)
.withSchedule(CronScheduleBuilder.cronSchedule(“0 42 10 * * ? *”))
.startNow().build();
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(job, trigger);
// 启动调度
scheduler.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
package com.test;
import java.util.Date;
import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
/**
* 调用任务的类
* @author lhy
*
*/
public class SchedulerTest {
public static void main(String[] args) {
//通过schedulerFactory获取一个调度器
SchedulerFactory schedulerfactory=new StdSchedulerFactory();
Scheduler scheduler=null;
try{
// 通过schedulerFactory获取一个调度器
scheduler=schedulerfactory.getScheduler();
// 创建jobDetail实例,绑定Job实现类
// 指明job的名称,所在组的名称,以及绑定job类
JobDetail job=JobBuilder.newJob(MyJob.class).withIdentity(“job1”, “jgroup1”).build();
// 定义调度触发规则
// 使用simpleTrigger规则
// Trigger trigger=TriggerBuilder.newTrigger().withIdentity(“simpleTrigger”, “triggerGroup”)
// .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8))
// .startNow().build();
// 使用cornTrigger规则 每天10点42分
Trigger trigger=TriggerBuilder.newTrigger().withIdentity(“simpleTrigger”, “triggerGroup”)
.withSchedule(CronScheduleBuilder.cronSchedule(“0 42 10 * * ? *”))
.startNow().build();
// 把作业和触发器注册到任务调度中
scheduler.scheduleJob(job, trigger);
// 启动调度
scheduler.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
[1][2][3]
长江后浪催前浪,一辈新人换旧人。