用Quartz进行作业调度 - 编程入门网
dule Factory
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
// Retrieve a scheduler from schedule factory
Scheduler scheduler = schedulerFactory.getScheduler ();
String[] triggerGroups;
String[] triggers;
triggerGroups = scheduler.getTriggerGroupNames();
for (int i = 0; i < triggerGroups.length; i++) {
triggers = scheduler.getTriggerNames(triggerGroups [i]);
for (int j = 0; j < triggers.length; j++) {
Trigger tg = scheduler.getTrigger(triggers[j], triggerGroups [i]);
if (tg instanceof SimpleTrigger && tg.getName().equals ("simpleTrigger")) {
((SimpleTrigger)tg).setRepeatCount(100);
// reschedule the job
scheduler.rescheduleJob(triggers[j], triggerGroups[i], tg);
// unschedule the job
//scheduler.unscheduleJob(triggersInGroup[j], triggerGroups[i]);
}
}
}
// start the scheduler
scheduler.start();
}
用Quartz进行作业调度(5)时间:2011-08-26 IBM Michael Lipton运行 JDBCJobStore 在第一次运行示例时,触发器在数据库中初始化。图 1 显示了数据库在触发 器初始化之后但尚未击发 之前的情况。所以,基于 清单 4 中的 setRepeatCount() 方法,将 REPEAT_COUNT 设为 100,而 TIMES_TRIGGERED 是 0。在应用程序运行一段时间之后,应用程序停止。 图 1. 使用 JDBCJobStore 时数据库中的数据(运行前) 图 2 显示了数据库在应用程序停止后的情况。在这个图中,TIMES_TRIGGERED 被设为 19,表示作业 运行的次数。 图 2. 同一数据在 19 次迭代之后 当再次启动应用程序时,REPEAT_COUNT 被更新。这在图 3 中很明显。在图 3 中可以看到 REPEAT_COUNT 被更新为 81,所以新的 REPEAT_COUNT 等于前面的 REPEAT_COUNT 值减去前面的 TIMES_TRIGGERED 值。而且,在图 3 中还看到新的 TIMES_TRIGGERED 值是 7, 表示作业从应用程序重新 启动以来,又触发了 7 次。 图 3. 第 2 次运行 7 次迭代之后的数据 当再次停止应用程序之后,REPEAT_COUNT 值再次更新。如图 4 所示,应用程 序已经停止,还没有重 新启动。同样,REPEAT_COUNT 值更新成前一个 REPEAT_COUNT 值减去前一个 TIMES_TRIGGERED 值。 图 4. 再次运行触发器之前的初始数据 用Quartz进行作业调度(6)时间:2011-08-26 IBM Michael Lipton使用属性 正如在使用 JDBCJobStore 时看到的,可以用许多属性来调整 Quartz 的行为 。应当在 quartz.properties 文件中指定这些属性。清单 5 显示了用于 JDBCJobStore 示 例的属性: 清单 5. quartz.properties
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |