Quartz2.x增、删、改工具类
来源:互联网 发布:linuxshell编程实例 编辑:程序博客网 时间:2024/06/05 15:19
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, 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(
"停止调度器=> [失败]"
);
}
}
}
0 0
- Quartz2.x增、删、改工具类
- Quartz2.x增、删、改工具类
- Quartz2.1.x案例
- Quartz2.x使用
- spring4和quartz2.x整合,对任务做动态操作(增删改查)
- Quartz2.x学习笔记(三):Quartz2.x整合spring
- spring集成quartz2.X 配置
- Quartz2.2.x官方教程
- Spring 4.X整合Quartz2.X配置
- Spring 3.X + Quartz2.X 定时任务
- spring3.2.x集成quartz2.x配置
- Quartz2.x学习笔记(一)
- 【转】Quartz2.2.x官方教程
- Quartz2动态化,实现增删改等操作。
- Sping3.x和quartz2.x之间的整合
- spring3.x 与 quartz2.x (JobStoreTX cluster)集群
- Spring4.X整合quartz2.X的超简单配置
- spring3.X集成quartz2.X实现动态定时器
- Linux Netfilter实现机制和扩展技术
- (五)图
- 图片url地址为空时出现小圆框占位符
- IntelliJ IDEA平台下JNI编程(五)—本地C代码创建Java对象及引用
- visual studio2008 pdb文件
- Quartz2.x增、删、改工具类
- POJ2299 Ultra-QuickSort(归并排序,求逆序数)
- git用户与github用户的联系
- 居中裁剪 image 为正方形
- STM32单片机上电后时钟的默认配置过程
- RHEL6解决无法使用YUM源问题
- banner—轮播图
- ThinkPHP(3)--输出和模型使用1
- Qt之实现好友列表