quartz学习(一)

Job实例在Quartz中的生命周期

JobDetail 实例传给schedulerJobDetail 中有要执行的Job class声明。Scheduler每次执行job都会创建一个新的job实例。执行完成之后,这个实例会被垃圾回收。Job类里不要定义有状态的字段,因为他们的值在两次job执行之间是不保存的。可以通过JobDataMap传递状态。

Lesson 4: More About Triggers

跟job一样,trigger也很容易使用。但是它包含许多选项,在你充分使用quartz之前,你必须要理解它们。之前也提到过,有多个不同类型的trigger,你可以选择一种来满足不同的调度需要。

你将会了解到两种最常见的trigger,simpleTrigger和cronTrigger。

Trigger都有的属性:

这些属性都是在使用TriggerBuilder声明trigger的时候设置的。

TriggerKey:标识每个trigger的身份

JobKey:表示当这个trigger触发时,哪个job应当执行。

startTime:表示这个trigger什么时候第一次触发。

endTime:表示这个trigger什么时候结束。

Priority:优先级

有时候,当你有许多Trigger(或者在quartz线程池有少量的工作线程),quartz可能没有足够的资源在同一时间触发所有的trigger。这种情况可以通过设置priority解决。默认的优先级是5。注意:优先级只在有相同触发时间的trigger之间比较。10:59的总是比11:00的先触发。当某一trigger的job需要恢复执行,恢复之后的优先级还是跟原来的一样。

猜你喜欢

转载自blog.csdn.net/Leftmumu/article/details/85229636