1.编程式调度器,每周的周六15:38:30执行作业

来源:互联网 发布:天猫算法大赛 编辑:程序博客网 时间:2024/04/30 07:16
package com.cavaness.quartzbook.chapter3;import java.text.SimpleDateFormat;import java.util.Date;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.quartz.JobDetail;import org.quartz.NthIncludedDayTrigger;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.impl.StdSchedulerFactory;/** * 编程式调度器,每周的周六15:38:30执行作业 * @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()));JobDetail printInfoJobDetail = new JobDetail("printInfoJob",Scheduler.DEFAULT_GROUP, PrintInfoJob.class); // 为作业取名,分组NthIncludedDayTrigger printInfoTrigger = new NthIncludedDayTrigger();printInfoTrigger.setName("printInfoTrigger");printInfoTrigger.setGroup(Scheduler.DEFAULT_GROUP);printInfoTrigger.setIntervalType(NthIncludedDayTrigger.INTERVAL_TYPE_WEEKLY);printInfoTrigger.setN(7); // 注意,星期顺序:日  一 二 三 四 五 六 ,每周的周六15:38:30执行作业printInfoTrigger.setFireAtTime("15:38:30");try {scheduler.scheduleJob(printInfoJobDetail, printInfoTrigger);} catch (SchedulerException e) {log.error("关联作业printInfoJobDetail和触发器printInfoTrigger失败!", e);throw e;}}public static void main(String[] args) throws SchedulerException {Listing_4_9 listing_4_9 = new Listing_4_9();try {listing_4_9.startScheduler();} catch (SchedulerException e) {log.error("调度器初始化失败!", e);throw e;}}}

原创粉丝点击