最近在部门内分享了Quartz的主要调度模式的源码实现方式以及几个关键类之间的关系,通过UML图了相关的图
1.job:任务。需要使用Quartz来完成的任务。一般实现Job接口,实现execute方法即可
2.JobDetail:和Job关联,主要配置 任务的详细信息,比如,设置Job的类。任务的组等相关属性
3.Trigger:配置任务时间相关。比如。调度时间。时间频率等。支持简单的时间调度以及复杂的CRON调度
Quartz调度原理。我们从调度的开始入口 看代码。
有三种启动方式。
1.显示的创建Scheduler.调start开始调度
在web容器中启动
1.实现ServletContextListener在servlet的Listener启动时开始启动调度
2.实现HttpServlet。在servlet的web.xml中配置 servlet的形式。在加载时启动
下面的类交互图是以第二种方式为开始进行图的,基本上是大同小异