上一篇文章很简单的叙述了基于Timer实现的任务调度,因为基于Timer实现的任务调度,只能设置延迟,一定的频率,所以并没有什么很大的优点,所以做过多介绍,现在使用最多的是 quartz实现的定时任务调度,quartz是一个开源的组件。提供了我们相应的jar包
quartz的优点:
1.我们可以实现多个定时任务进行调度。
2.可以实现与代码的解耦,通过配置文件的方式进行配置。
3.功能强大,可以通过cron表达式设置复杂的时间任务调度。
quartz核心点:
1.job:(被任务调度的接口),我们需要实现job,和继承TimerTask重写run方法一样,重写job中的excute方法,excute方法是任务调度的方法执行位置。
2. JobDetail:必须通过JobDetail来实现Job实例,(基于builder模式实现的)
3.trigger(包括:CronTrigger 和simpleTrigger):指定任务调度的频率时间。何时进行任务调度(基于builder模式实现的)触发器
4.scheduler:结合jobdetail 实例和trigger实例,进行调度的触发的调度器(基于factory模式)。
Quartz脑图:
quartz任务调度所需要的jar包:我们可以在maven-repository中下载相应的jar包。
第一种方式:实现通过simpleTrigger实现简单任务调度。
----------------------------------------------------------------------------------------------------------------------------------
1:实现job
public class QuartzDemoSimple implements Job {
@Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException {
Calendar instanc