Quartz的触发器是之前两种调度工具最大的区别,Quartz实现了两个常用的触发器SimpleTrigger和CronTrigger,SimpleTrigger可配置简单的执行计划。CronTrigger则可以根据具体的Corn表达式配置各种复杂的执行计划,满足各种特殊的需求。 Srping可以通过CronTriggerFactoryBean 和 SimpleTriggerFactoryBean来进行Trigger的配置。配置方法如下: 最后,只需要配置通过SchedulerFactoryBean来配置Scheduler,将Trigger注册到具体的Scheduler中,由其进行触发调度。Spring即可以成功使用Quartz实现任务调度: Quartz同ScheduledThreadPoolExecutor一样也是基于线程池进行任务调度的,它默认使用org.quartz.simpl.SimpleThreadPool来作为线程池,在调用scheduleJob()方法会将Job和Trigger存储在JobStore(从存储介质中获取触发器,存储介质可以是内存也可以是数据库)中,然后通知调度线程(QuartzSchedulerThread)从JobStore中获取即将被触发的触发器,到达触发时间后分配线程去执行触发器对应的Job任务。 (责任编辑:本港台直播) |