博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Quartz2.x增、删、改工具类
阅读量:6732 次
发布时间:2019-06-25

本文共 3542 字,大约阅读时间需要 11 分钟。

hot3.png

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 
 * 功能:
 * 详细:Quartz增、删、改工具类 
 * 作者: Tliu 
 * 日期:2015-7-17 
 */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
 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, String group){ try { JobKey jobKey = JobKey.jobKey(name, group); scheduler.resumeJob(jobKey); log.info("恢复作业=> [作业名称:" + name + " 作业组:" + group + "] "); } catch (SchedulerException e) { e.printStackTrace(); log.error("恢复作业=> [作业名称:" + name + " 作业组:" + group + "]=> [失败]"); } } public void modifyTime(String name, String group, 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("停止调度器=> [失败]"); } }}

转载于:https://my.oschina.net/liu13430/blog/504225

你可能感兴趣的文章
后缀树【Suffix Tree】
查看>>
SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别
查看>>
插件、内存-Android eclipse内存管理工具 内存泄露定位-by小雨
查看>>
HTML 4.01/XHTML 1.0标签列表
查看>>
函数式编程学习之路(五)
查看>>
Powershell之True或False
查看>>
vb编程把excel中的数据导入SQL SERVER数据库及导出为excel
查看>>
(转)关于target_解释,classfier_解释
查看>>
<转>另一个获取硬盘序列号的方法
查看>>
原来你也在这里
查看>>
hdu 2677
查看>>
nullnull2013金山西山居创意游戏程序挑战赛——初赛(3)生日猜猜猜
查看>>
只要能设置背景色,就能设置背景图片
查看>>
关于C++ const 的全面总结
查看>>
poj1665
查看>>
Hadoop之父Doug Cutting
查看>>
SVN服务端、客服端安装与配置
查看>>
[转]大话企业级Android应用开发实战 用户界面
查看>>
knockout 监控数组的缺点
查看>>
设计模式
查看>>