package com.demo.quartz.quartz01;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class HelloJob implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
// TODO Auto-generated method stub
//当前时间
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.err.println("当前时间是:" + sf.format(date));
System.out.println("hello world!");
}
}
package com.demo.quartz.quartz01;
import java.text.SimpleDateFormat;
import java.util.Date;
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.SimpleTrigger;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class HelloScheduler
{
public static void main(String[] args) throws SchedulerException
{
// 距离当前时间三秒后执行
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.err.println("当前时间是:" + sf.format(date));
// 创建JobDetail实例,将该实力和HelloJob绑定
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("myjob", "group1").build();
//距离当前时间4秒后执行且执行一次任务
// date.setTime(date.getTime()+4000);
// SimpleTrigger trigger = (SimpleTrigger)TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1")
// .startAt(date).build();
//距离当前时间4秒后执行一次任務,之後每個每個兩秒鐘執行一次,執行三次后結束
// date.setTime(date.getTime()+4000);
// SimpleTrigger trigger = (SimpleTrigger)TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1")
// .startAt(date)
// .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).withRepeatCount(3)).build();
//距离当前时间4秒后执行且执行一次任务,距离当前时间6秒后結束
// date.setTime(date.getTime()+4000);
// Date endDate=new Date();
// endDate.setTime(endDate.getTime()+6000);
// SimpleTrigger trigger = (SimpleTrigger)TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1")
// .startAt(date).endAt(endDate)
// .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).withRepeatCount(3)).build();
date.setTime(date.getTime()+4000);
Date endDate=new Date();
endDate.setTime(endDate.getTime()+6000);
SimpleTrigger trigger = (SimpleTrigger)TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1")
.startAt(date).endAt(endDate)
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).withRepeatCount(3)).build();
// 创建Scheduler实例
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
// 打印当前时间
System.out.println(sf.format(new Date()));
scheduler.scheduleJob(jobDetail, trigger);
}
}