使用QUARTZ1.6的CronTrigger,开始时间和结束时间必须包含年月日.但是需求是每天的某个时间段去调度.这样的话就不能有年月日的限制,但是又必须设置开始时间和结束时间的时分秒.这个问题不少人纠结过,其实QUARTZ1.6有个强大的接口用的人比较少,就是Calendar.
//startTime,endTime : HH:mm:ss
DailyCalendar dailyCalendar = new DailyCalendar(startTime,endTime);
dailyCalendar.setInvertTimeRange(true); //这个必须设为True
//将该Calendar数据保存
scheduler.addCalendar(calendarName,dailyCalendar,false,false);
//为触发器配置
Calendar cronTrigger.setCalendarName(calendarName);
org.quartz.impl.calendar.BaseCalender
为高级的 Calender 实现了基本的功能,实现了 org.quartz.Calender 接口
org.quartz.impl.calendar.WeeklyCalendar
排除星期中的一天或多天,例如,可用于排除周末
org.quartz.impl.calendar.MonthlyCalendar
|
排除月份中的数天,例如,可用于排除每月的最后一天
|
|
org.quartz.impl.calendar.AnnualCalendar
|
排除年中一天或多天
|
|
org.quartz.impl.calendar.HolidayCalendar
|
特别的用于从 Trigger 中排除节假日
org.quartz.impl.calendar.DailyCalendar
每天
分享到:
相关推荐
4. **Calendar**:可选地,你可以使用 Calendar 对象来排除某些日期或时间,使 Job 在特定时间段不执行。 5. **JobDetail**:存储 Job 实例的详细信息,包括 Job 类名、参数等。 6. **TriggerDetail**:存储 Trigger...
让我们深入探讨一下这个"spring2.0+quartz1.6定时器"的工作原理和实现细节。 首先,Spring框架是一个广泛应用的开源Java框架,它提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...
4. **Calendar**:Calendar可以用来排除某些特定的日期或时间段,使Trigger在这些时间不触发Job。 在Quartz的API中,`org.quartz.Scheduler` 是调度器的接口,提供了一系列方法来管理Job和Trigger。`org.quartz....
Quartz是一款广泛使用的开源任务调度框架,用于在Java应用程序中实现定时任务的自动化管理。它提供了灵活、可扩展的API,使得开发者可以方便地定义、安排和执行各种定时任务。这个压缩包包含了Quartz的1.8实例以及...
CronExpBuilder通常提供图形化界面或者API接口,帮助用户选择所需的时间段和频率,自动生成对应的Cron表达式。 四、使用CronExpBuilder创建定时任务 1. 初始化CronExpBuilder:首先,我们需要导入CronExpBuilder...