import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Trigger;
import org.quartz.TriggerKey;
public class SimpleJob implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
TriggerKey key=arg0.getTrigger().getKey();
System.out.println(key+" 执行时间为:"+sf.format(new Date()));
}
}
package com.converter.test;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import java.util.Date;
import org.quartz.DateBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
public class QuartsTest_3 {
public static void main(String[] args) throws SchedulerException {
//获取调度器
SchedulerFactory sf=new StdSchedulerFactory();
Scheduler scheduler=sf.getScheduler();
Date runTime=DateBuilder.nextGivenMinuteDate(null, 5);
JobDetail job=newJob(SimpleJob.class).withIdentity("job1", "group1").build();
//设置间隔10秒执行10次
SimpleTrigger trigger=(SimpleTrigger) newTrigger().withIdentity("trigger1","group1").startAt(runTime)
.withSchedule(simpleSchedule().withIntervalInSeconds(10).withRepeatCount(10)).build();
Date df=scheduler.scheduleJob(job, trigger);
System.out.println(job.getKey()+" 执行时间为:"+df+" RepeatCount:"+trigger.getRepeatCount());
scheduler.start();
}
}

这是一个使用Quartz库创建的Java程序,该程序配置了一个定时任务,该任务从指定时间开始,每隔10秒执行一次,总共重复执行10次。程序通过SchedulerFactory获取Scheduler实例,定义JobDetail和SimpleTrigger,并利用SimpleScheduleBuilder设置执行间隔和重复次数。
3340

被折叠的 条评论
为什么被折叠?



