我是靠谱客的博主 高兴乌龟,最近开发中收集的这篇文章主要介绍关于quartz 2.2的使用方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天项目上有个类似闹钟的需求,想到了用quartz(石英)来实现功能。然后进入官网 http://www.quartz-scheduler.org/

发现已经更新到了2.2,可能好久没有用它了,发现和之前的有些不一样,花了一天的时间好好研究了一下,在这里做个记录。

首先需要理清楚一下 quartz的结构:

Job  ----->   JobDetail -----> Trigger ------>Scheduler

用 Job 来构造 JobDetail


JobDetail openJob = JobBuilder.newJob(OpenCameraJob.class).withIdentity(name, group).build();

这个地方貌似用的是google的Protocol Buffer , 不了解的同学们可以去看下,还是比较简单的

这个地方的name  和group  ,实际上是两个String,大家理解一下,应该能够明白,name就是给这个JobDetail 起一个名字,group明显就是分组了;


CronTrigger startTrigger = (CronTrigger)TriggerBuilder.newTrigger().withIdentity("name_start_" + cycle.getId(),group)
                                                                                  .withSchedule(CronScheduleBuilder.cronSchedule(startCronExpression))
                                                                                  .build();

然后是创建相对应的trigger ,同样可以给他起一个名字,和分个组什么的。


schedulerManager.scheduleJob(openJob, startTrigger);

讲Job 和startTrigger  添加到里面scheduler里面。


删除一个job

schedulerManager.deleteJob(new JobKey(name, group)

但是有个问题是我没有找到通过group来删除一组job的方法,希望有高人可以指点一下。

最后

以上就是高兴乌龟为你收集整理的关于quartz 2.2的使用方法的全部内容,希望文章能够帮你解决关于quartz 2.2的使用方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部