Quartz2.x增、删、改工具类
发布时间:2020-12-15 03:19:19 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 package com.a2563; import static org.quartz.CronScheduleBuilder.cronSchedule;import static org.quartz.JobBuilder.newJob;import static org.qu
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 package com.a2563; import static org.quartz.CronScheduleBuilder.cronSchedule; import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrigger; import org.apache.logging.log4j.Logger; import org.quartz.Job; import org.quartz.JobDetail; import org.quartz.JobKey; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.Trigger; import org.quartz.TriggerKey; import org.quartz.impl.StdSchedulerFactory; /** * 类名:QuartzManager <br/> * 功能:<br/> * 详细:Quartz增、删、改工具类 <br/> * 作者: Tliu <br/> * 日期:2015-7-17 <br/> */ public class QuartzUtils { private Logger log = null; private Scheduler scheduler = null; public static final String DATA_KEY = "STATE_DATA"; public QuartzUtils (){ try { log = org.apache.logging.log4j.LogManager.getLogger(); scheduler = new StdSchedulerFactory().getScheduler(); log.info("初始化调度器 "); } catch (SchedulerException ex) { log.error("初始化调度器=> [失败]:" + ex.getLocalizedMessage()); } } public void addJob(String name,String group,Class<? extends Job> clazz,String cronExpression) { try { //构造任务 JobDetail job = newJob(clazz) .withIdentity(name,group) .build(); //构造任务触发器 Trigger trg = newTrigger() .withIdentity(name,group) .withSchedule(cronSchedule(cronExpression)) .build(); //将作业添加到调度器 scheduler.scheduleJob(job,trg); log.info("创建作业=> [作业名称:" + name + " 作业组:" + group + "] "); } catch (SchedulerException e) { e.printStackTrace(); log.error("创建作业=> [作业名称:" + name + " 作业组:" + group + "]=> [失败]"); } } public void removeJob(String name,String group){ try { TriggerKey tk = TriggerKey.triggerKey(name,group); scheduler.pauseTrigger(tk);//停止触发器 scheduler.unscheduleJob(tk);//移除触发器 JobKey jobKey = JobKey.jobKey(name,group); scheduler.deleteJob(jobKey);//删除作业 log.info("删除作业=> [作业名称:" + name + " 作业组:" + group + "] "); } catch (SchedulerException e) { e.printStackTrace(); log.error("删除作业=> [作业名称:" + name + " 作业组:" + group + "]=> [失败]"); } } public void pauseJob(String name,String group){ try { JobKey jobKey = JobKey.jobKey(name,group); scheduler.pauseJob(jobKey); log.info("暂停作业=> [作业名称:" + name + " 作业组:" + group + "] "); } catch (SchedulerException e) { e.printStackTrace(); log.error("暂停作业=> [作业名称:" + name + " 作业组:" + group + "]=> [失败]"); } } public void resumeJob(String name,group); scheduler.resumeJob(jobKey); log.info("恢复作业=> [作业名称:" + name + " 作业组:" + group + "] "); } catch (SchedulerException e) { e.printStackTrace(); log.error("恢复作业=> [作业名称:" + name + " 作业组:" + group + "]=> [失败]"); } } public void modifyTime(String name,String cronExpression){ try { TriggerKey tk = TriggerKey.triggerKey(name,group); //构造任务触发器 Trigger trg = newTrigger() .withIdentity(name,group) .withSchedule(cronSchedule(cronExpression)) .build(); scheduler.rescheduleJob(tk,trg); log.info("修改作业触发时间=> [作业名称:" + name + " 作业组:" + group + "] "); } catch (SchedulerException e) { e.printStackTrace(); log.error("修改作业触发时间=> [作业名称:" + name + " 作业组:" + group + "]=> [失败]"); } } public void start() { try { scheduler.start(); log.info("启动调度器 "); } catch (SchedulerException e) { e.printStackTrace(); log.error("启动调度器=> [失败]"); } } public void shutdown() { try { scheduler.shutdown(); log.info("停止调度器 "); } catch (SchedulerException e) { e.printStackTrace(); log.error("停止调度器=> [失败]"); } } }来自:http://my.oschina.net/u/1859292/blog/504225 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |