标签:
http://quartz-scheduler.org/documentation/quartz-2.x/cookbook/ 定义了诸多如何使用Quartz的示例
1,初始化Scheduler
初始化Scheduler,一种是先创建一个StdSchedulerFactory,然后再从StdSchedulerFactory.getScheduler(),这里获得的Scheduler采用的是默认的配置。另一种是从配置文件中初始化Scheduler。
StdSchedulerFactory sf = new StdSchedulerFactory(); sf.initialize(schedulerProperties);//从配置文件中读取Scheduler的配置 Scheduler scheduler = sf.getScheduler();
2,Scheduler可以处于 standby 模式,即“待机”模式,处于该模式下的Scheduler不能 触发Job执行条件,不能执行作业。
scheduler.standby();//使调度器进入“待机”模式
从“待机”模式恢复出来,执行: scheduler.start();
3,关闭Scheduler
调用shutdown()方法关闭Scheduler,一旦调用了shutdown方法之后,调度器就不能再重新启动了,因为它的资源以及相关的线程都已经被回收了。
关闭调度器时,会面临两种情况。一种是等待作业执行完成时,关闭调度器;另一种是立即关闭调度器。通过shutdown方法接收的参数来判断是哪种情况。
scheduler.shutdown(true);//等待作业执行完成时才关闭调度器
scheduler.shutdown();//shutdown scheduler directly //or scheduler.shutdown(false);//shutdown scheduler directly
4,Quartz可以与Web整合。在Servlet容器中可以初始化Scheduler时,需要在web.xml 文件中进行相应的配置。参考:ServletInitScheduler
5,在非集群模式下使用多个Scheduler(每个Scheduler下可以配置多个work thread(在quartz.properties文件中配置))
对于Quartz而言,每个Scheduler必须有一个唯一的名字,即不同的Scheduler名字必须不同。而quartz.properties文件为调度器指定了Scheduler的名字。这意味着:需要多个quartz.properties文件,每个文件给一个Scheduler进行相应的属性配置。
6,保存Job,供以后使用。
// Add the the job to the scheduler‘s store sched.addJob(job, false);
8,如何更新触发器
10.......一些非常常用的使用Quartz的小示例。。。。。
标签:
原文地址:http://www.cnblogs.com/hapjin/p/4913759.html