nbsp; 0L); scheduler.scheduleJob(jobDetail, trigger); scheduler.start(); } }
为了简单起见,我把main方法写在SayHelloWorldJob中了,执行SayHelloWorldJob可以看到控制台打印hello world. 回顾Hello World example: Job是什么? 接口Job是每个业务上需要执行的任务需要实现的接口,该接口只有一个方法:
package org.quartz;
public interface Job {
public void execute(JobExecutionContext context) throws JobExecutionException; }
execute方法也就是当时间到达后,Quartz回调的方法,我们使SayHelloWorldJob实现Job接口以提供打印功能
JobDetail是什么? JobDetail描述了一个任务具体的信息,比如名称,组名等等。 JobDetail jobDetail = new JobDetail("SayHelloWorldJob", Scheduler.DEFAULT_GROUP, SayHelloWorldJob.class); 在上面的构造方法中,第一个是任务的名称,第二个是组名,第三个就是实际当任务需要执行的回调类。
Trigger是什么? Trigger顾名思义就是触发器,Quartz有个很好的想法就是分离了任务和任务执行的条件。Trigger就是控制任务执行条件的类,当Trigger认为执行条件满足的时刻,Trigger会通知相关的Job去执行。分离的好处是: 1.你可以为某个Job关联多个Trigger,其中任何一个条件满足都可以触发job执行,这样可以完成一些组合的高级触发条件 2.当Trigger失效后(比如:一个永远都不能满足的条件),你不必去声明一个新的job,代替的是你可以为job关联一上一页 [1] [2] [3] [4] 下一页
|