quartz---触发job时间和结束时间

时间:2023-03-10 01:07:44
quartz---触发job时间和结束时间

          quartz:Trigger:触发job时间和结束时间

 package com.imooc.demo.helloQuartz;

 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.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory; public class HelloScheduler { public static void main(String[] args) throws SchedulerException {
Date date = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获取距离当前时间3秒后的时间
date.setTime(date.getTime()+3000);
//获取距离当前时间6秒后的时间
Date endTime=new Date();
endTime.setTime(endTime.getTime()+6000);
// 创建一个jobDatail实例,将该实力与helloJob绑定
JobDetail detail = JobBuilder.newJob(HelloJob.class).withIdentity("myJob")
.build(); // 创建一个Trigger实例,定义该job立即执行,并且在每隔2秒重复执行
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("myTrigger", "group1")
.startAt(date)
.endAt(endTime)
.withSchedule(
SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(2).repeatForever())
.build();
// 创建Scheduler实例
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.start(); System.out.println("Current Exec Time Is:" + sf.format(date) + "-----");
// 把jobDetail和Trigger与scheuler绑定在一起:触发启动
scheduler.scheduleJob(detail, trigger);
}
}

    startAt();

   endAt();