动态改变Quartz的调度时间(2)
来源:互联网 发布:儿童编程在线教育 编辑:程序博客网 时间:2024/05/29 19:46
在动态改变Quartz的调度时间(1)中,使用删除Job然后重新加载实现动态改变调度周期,今天,我自己仔细看了下Quartz的API,发现用另一个方法可以实现这个功能。
版本:
1.8.6
相关链接:
API:http://quartz-scheduler.org/api/1.8.0/
http://quartz-scheduler.org/documentation/quartz-1.x/cookbook/UpdateTrigger
相关方法:
rescheduleJob
Date rescheduleJob(String triggerName, String groupName, Trigger newTrigger) throws SchedulerException
Remove (delete) the
with the given name, and store the new given one - which must be associated with the same job (the new trigger must have the job name & group specified) - however, the new trigger need not have the same name as the old trigger.Trigger
(删除给定名称的触发器,并且保存新的触发器,新旧触发器的名字相不相同无所谓的。)
- Parameters:
triggerName
- The name of theTrigger
to be replaced.(要替换的触发器的名字)groupName
- The group name of theTrigger
to be replaced.(要替换的触发器所在组的名称)newTrigger
- The newTrigger
to be stored.(新触发器)- Returns:
null
if aTrigger
with the given name & group was not found and removed from the store, otherwise the first fire time of the newly scheduled trigger.- Throws:
SchedulerException
具体代码:
/** * 动态修改任务的执行周期 * @param jobName 任务名称 * @param time 执行周期 * @throws SchedulerException * @throws ParseException */public static boolean modifyJobTime(String jobName, String time) throws SchedulerException, ParseException{boolean flag = false;Scheduler sched = sf.getScheduler();JobDetail jobDetail = sched.getJobDetail(jobName, JOB_GROUP_NAME);if(jobDetail != null){Trigger trigger = (CronTrigger)sched.getTrigger(jobDetail.getName(),JOB_TRIGGER_GROUP_NAME);if(trigger != null){CronTrigger ctrigger = (CronTrigger)trigger;String timeOld = ctrigger.getCronExpression();if(!timeOld.equalsIgnoreCase(time)){System.out.println("修改任务:"+jobName+"now:"+time);// 修改Triggerctrigger.setCronExpression(time);/** * 更新trigger * sched.rescheduleJob(triggerName, triggerGroupName, newTrigger) */sched.rescheduleJob(jobName, JOB_TRIGGER_GROUP_NAME, ctrigger);flag = true;}}}return flag;}注:sched.rescheduleJob(jobName, JOB_TRIGGER_GROUP_NAME, ctrigger); 此处jobName就是triggerName,值都一样的。
0 0
- 动态改变Quartz的调度时间(2)
- 动态改变Quartz的调度时间
- 动态改变Quartz的调度时间
- 动态改变Quartz的调度时间(1)
- 如何动态的改变Quartz的调度作业的时间
- Quartz.net 动态调整任务的调度时间
- Quartz.net 动态调整任务的调度时间
- 动态Quartz任务调度(Spring结合Quartz)
- Quartz作业调度(2)
- Quartz CronTrigger时间调度运用
- Quartz任务调度 时间设置
- 调度 Quartz 时间格式配置
- quartz 时间调度器 配置文件
- spring+quartz定时器任务调度(时间配置比timer灵活的多)
- 另一个QUARTZ基本的例子(不用配置调度时间XML)
- Spring+quartz 动态任务调度
- Spring + Quartz动态任务调度
- Spring 的quartz定时器(任务调度)
- 说说AngularJs——自定义指令(三)
- 【IPhone开发】“此证书是由未知颁发机构签名”解决方法
- 中断和异常
- SAP采购订单税码增强检查
- asp.net利用winrar 压缩文件 和解压文件
- 动态改变Quartz的调度时间(2)
- Java软件开发基础知识梳理之(8)------Hibernate并发控制
- 背景图片自适应分辨率浏览器大小自动拉伸全屏代码
- 求职中哪种人最容易被企业拒绝
- keystore文件转换格式为pk8+x509.pem
- python 包的概念简单笔记
- CSS完美兼容IE6/IE7/IE8/IE9/IE10的通用方法
- Android view的绘制流程(一)
- SSM框架的搭建