摘要:QuartzSchedulerThread 本篇博文,博主将介绍QuartzSchedulerThread的相关内容。话不多说,直接进入正题。 什么是QuartzSchedulerThread? 从源码和该类的名称上,QuartzSchedulerThread首先是一个线程类,因此它继承了Threa
阅读全文
摘要:JobRunShell 上篇博文,博主讲了Listener相关的内容。本篇博文,博主将要详细介绍一下JobRunShell的功能。简单的来说,JobRunShell就是Job实例运行时所在的环境,也就是说在JobRunShell中调用Job接口的execute方法。 Runnable接口 在讲解Jo
阅读全文
摘要:Listener 上篇博文,博主介绍了jobStore相关的内容。本篇博文,博主将介绍quartz框架中监听器的使用以及原理。监听器在开源框架中十分常见,通过监听器我们可以实现一些定制化的功能。 什么是Listener? 监听器就是在某一个事件发生的时候,被监听对象会根据对应事件,循环调用监听对象(
阅读全文
摘要:JobStore 在之前的博文中,博主已经写了关于Job的相关内容。本篇博文,博主将介绍JobStore相关的内容。 JobStore是存放Job和Trigger的地方。当我们调用Scheduler对象的scheduleJob时就会将其存入JobStore中,然后供quartzSchedulerTh
阅读全文
摘要:Trigger相关内容 上篇博文,博主介绍了Job的相关内容。本篇博文,博主将介绍Trigger相关的内容。 Trigger Trigger是触发器的意思,它只定义Trigger相关属性的Get方法。一个Trigger只能关联一个Job,而一个Job可以关联到多个Trigger。 Triigger的
阅读全文
摘要:Job相关内容 本篇博文,博主主要介绍job相关的内容。 Job job是业务类需要实现的接口,代表需要被调度框架进行调度的任务。job源码如下所示,从源码中我们可以看到,job接口只有一个excute方法,它的入参只有一个JobExecutionContext,并且允许抛出JobExecution
阅读全文
摘要:调度器创建之实例化 博主的前一篇博文主要介绍了schedule创建时的配置文件加载,下面博主将介绍一下scheduler的instantiate方法。 代码回顾 public Scheduler getScheduler() throws SchedulerException { if (cfg =
阅读全文
摘要:配置文件源码解析 博主的前一篇博文主要介绍了quartz的入门使用,现在博主就来讲解一下quartz配置文件的加载流程。 代码回顾 public class Main { public static void main(String[] args) throws SchedulerException
阅读全文
摘要:什么是quartz? quartz是一个开源的任务调度框架,它可以帮助我们实现任务的定时调度,任务的持久化,支持故障切换和负载均衡。当然,它的优点远远不止这些。 什么是任务调度框架? 任务调度框架的核心功能就是它可以根据我们定义好的调度规则,在线程池中创建线程来执行我们的业务方法。那么一个完善的任务
阅读全文