最近因为项目原因,研究了一些quartz的基础使用规则,今天跟大家分享一下:
首先是quartz的CronTrigger触发规则结合quartz中的calendar接口的使用,代码如下:
import java.text.ParseException;
import java.util.Calendar;
import java.util.GregorianCalendar;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.calendar.AnnualCalendar;
import cn.jbit.job.SimpleTriggerJob;
public class Test{
public static void main(String[] args) {
//创建调度器
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler scheduler = null;
CronTrigger cronTrigger=null;
//定义一个精确的任务执行时间
try {
scheduler = sf.getScheduler();
cronTrigger = new CronTrigger("dayTrigger",Scheduler.DEFAULT_GROUP, "0 0/1 * ? * 2-6");
} catch (ParseException e) {
e.printStackTrace();
}catch (SchedulerException e) {
e.printStackTrace();
}
//AnnualCalendar用于排除年中的一天或多天
AnnualCalendar cal = new AnnualCalendar();
//这里除了需要定义一个精确的任务执行时间,还需要排除指定的日期
Calendar calendar = Grego