Quartz系列笔记(2)--Quartz使用初探
2016-12-01 15:34
183 查看
在使用scheduler之前,我们需要初始化scheduler。使用SchedulerFactory可以达到这样的目的,有些用户可能会将这样的factory实列存放在JNDI上,当然直接新建一个factory实列也是OK的。
一个scheduler被初始化之后,我们可以对他进行start、stand-by和shutdown()操作。需要注意的是一个scheduler一旦被关闭了,就不能被重新开启,除非我们重新初始化一个scheduler。在一个scheduler被start之前,这个scheduler绑定的触发器是不会触发的,当然如果触发器处于paused状态的话也是不会被触发的。
下面的代码展示了实例化scheduler、Job和触发器的 过程,以及怎么将它们绑定在一起。
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
// define the job and tie it to our HelloJob class
JobDetail job = newJob(HelloJob.class)
.withIdentity("myJob", "group1")
.build();
// Trigger the job to run now, and then every 40 seconds
Trigger trigger = newTrigger()
.withIdentity("myTrigger", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
正如你所看见的,使用Quartz相当简单。在下面一节我们将对Job和Trigger和Quartz的API接口做一个概述,以便你对上面的列子能更好的理解。
一个scheduler被初始化之后,我们可以对他进行start、stand-by和shutdown()操作。需要注意的是一个scheduler一旦被关闭了,就不能被重新开启,除非我们重新初始化一个scheduler。在一个scheduler被start之前,这个scheduler绑定的触发器是不会触发的,当然如果触发器处于paused状态的话也是不会被触发的。
下面的代码展示了实例化scheduler、Job和触发器的 过程,以及怎么将它们绑定在一起。
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
// define the job and tie it to our HelloJob class
JobDetail job = newJob(HelloJob.class)
.withIdentity("myJob", "group1")
.build();
// Trigger the job to run now, and then every 40 seconds
Trigger trigger = newTrigger()
.withIdentity("myTrigger", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
正如你所看见的,使用Quartz相当简单。在下面一节我们将对Job和Trigger和Quartz的API接口做一个概述,以便你对上面的列子能更好的理解。
相关文章推荐
- VirtualBox 使用笔记系列教程
- 构建安全的Xml Web Service系列之初探使用Soap头[转]
- cocos2d-x系列笔记(8)---在cocos2d-x项目中使用curl与web服务器通信
- 软件测试实验学习笔记系列2 -- lint,splint的使用
- LeetCode 笔记系列 19 Scramble String [合理使用递归]
- 构建安全的Xml Web Service系列之初探使用Soap头
- C++语言笔记系列之七——变量的作用域和使用方法
- Sharepoint学习笔记—ECMAScript对象模型系列-- 6、使用ECMA操作列表项对象(list item)
- Sharepoint学习笔记—ECMAScript对象模型系列-- 5、使用ECMA操作列表对象(list)
- 数据访问技术系列课程 笔记(4) 使用连接池
- 构建安全的Xml Web Service系列之初探使用Soap头 [转彬哥]
- ASP.NET AJAX深入浅出系列----UpdatePanel的使用笔记(上)
- 构建安全的Xml Web Service系列之初探使用Soap头
- 数据访问技术系列课程 笔记(4) 使用连接池
- 深入挖掘ASP.NET 2.0系列课程(1):随心所欲的使用GridView(笔记)
- Symbian学习笔记(19) - 初探Web Services API 的使用(下)
- win32汇编编程系列笔记(五)之变量的灵活使用
- cocos2d-x系列笔记(9.2)---浅谈cocos2d-x使用函数指针实现委托(下)
- Opencv2系列学习笔记9(使用Canny算子检测轮廓)