默认排除每周周六日
2012-08-07 09:20
211 查看
package com.cavaness.quartzbook.chapter3; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SimpleTrigger; import org.quartz.Trigger; import org.quartz.TriggerUtils; import org.quartz.impl.StdSchedulerFactory; import org.quartz.impl.calendar.AnnualCalendar; import org.quartz.impl.calendar.WeeklyCalendar; /** * 默认排除每周周六日 * @author Kevin * */ public class Listing_4_9 { private static Log log = LogFactory.getLog(Listing_3_5.class); /** * 创建,启动调度器 * @throws SchedulerException */ public void startScheduler() throws SchedulerException { Scheduler scheduler = null; try { scheduler = StdSchedulerFactory.getDefaultScheduler(); } catch (SchedulerException e) { log.error("调度器创建失败!", e); throw e; } try { scheduler.start(); } catch (SchedulerException e) { log.error("调度器启动失败!", e); throw e; } log.info("调度器启动时间:" + new SimpleDateFormat("yyyy.MM.dd HH:mm:ss").format(new Date())); scheduleJob(scheduler, PrintInfoJob.class); } /** * 配置作业,创建触发器 * @param scheduler 调度器 * @param jobClass 作业所在的类 * @throws SchedulerException */ public void scheduleJob(Scheduler scheduler, Class jobClass) throws SchedulerException { WeeklyCalendar weeklyCalendar = new WeeklyCalendar(); // 默认排除每周周六日 try { scheduler.addCalendar("bankHolidays", weeklyCalendar, true, true); // 两个true分别表示替换和更新原来的WeeklyCalendar } catch (SchedulerException e) { log.error("为调度器关联annualCalendar失败!", e); throw e; } Trigger printInfoTrigger = TriggerUtils.makeImmediateTrigger("printInfoTrigger", SimpleTrigger.REPEAT_INDEFINITELY, 10000); printInfoTrigger.setCalendarName("bankHolidays"); // 关联触发器和calendar JobDetail printInfoJobDetail = new JobDetail("printInfoJobDetail", Scheduler.DEFAULT_GROUP, jobClass); try { scheduler.scheduleJob(printInfoJobDetail, printInfoTrigger); // 关联触发器和调度器 } catch (SchedulerException e) { log.error("关联触发器printInfoTrigger和调度器scheduler失败!", e); throw e; } } public static void main(String[] args) throws SchedulerException { Listing_4_9 listing_4_9 = new Listing_4_9(); listing_4_9.startScheduler(); } }
相关文章推荐
- 默认排除每月的一些天
- 一段时间内的工作日天数,只排除周六日,未排除节假日
- 排除“计算机-默认 权限设置未将 COM 服务器应用程序”的错误
- oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间
- 指定月份获取每周开始和截止时间,不足一周下个月的补足一周,以周六为标准
- PHP获取时间排除周六、周日的两个方法
- 详细分解三同不同默认路由配置形式的区别与故障排除 推荐
- 排除“计算机-默认 权限设置未将 COM 服务器应用程序”的错误
- PHP获取时间排除周六、周日的两个方法
- 排除“计算机-默认 权限设置未将 COM 服务器应用程序”的错误
- oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间
- 排除“计算机-默认 权限设置未将 COM 服务器应用程序”的错误
- 两日期间的工作日分钟数(只排除了周六周日)
- 排除每周的某一天
- 登录后默认转向登陆前的页面排除外部网站页面
- Java模块 -- 计算工作日 (Excel导入法定假日至数据库 排除周六 周日 法定假日) Calendar
- 排除每周的几天
- PHP获取时间排除周六、周日的两个方法
- Java计算加上指定工作日数(排除周六周日和一系列节日)
- 1.编程式调度器,每周的周六15:38:30执行作业