大数据基础之Quartz(1)简介、源代码解析
一简介
官网
http://www.quartz-scheduler.org/
What is the Quartz Job Scheduling Library?
Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may execute virtually anything you may program them to do. The Quartz Scheduler includes many enterprise-class features, such as support for JTA transactions and clustering.
二 代码解析
开启分布式
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.isClustered=true
启动过程
QuartzScheduler.start
QuartzSchedulerResources.getJobStore
StdSchedulerFactory.instantiate (org.quartz.jobStore.class)
JobStoreSupport.setLockHandler (org.quartz.jobStore.lockHandler.class)
JobStoreSupport.initialize
setLockHandler (StdRowLockSemaphore)
JobStoreSupport.schedulerStarted
ClusterManager.initialize
run
manage
doCheckin
clusterCheckIn
Semaphore.obtainLock
StdRowLockSemaphore.executeSQL (select for update and insert)
clusterRecover
signalSchedulingChangeImmediately
SchedulerSignaler.signalSchedulingChange
QuartzSchedulerThread.signalSchedulingChange
QuartzSchedulerThread.run
JobStore.acquireNextTriggers
JobStore.triggersFired
各种建表语句地址:https://gitlab.com/quartz-scheduler/quartz/-/tree/master/quartz-core/src/main/resources/org/quartz/impl/jdbcjobstore
---------------------------------------------------------------- 结束啦,我是大魔王先生的分割线 :) ----------------------------------------------------------------
- 由于大魔王先生能力有限,文中可能存在错误,欢迎指正、补充!
- 感谢您的阅读,如果文章对您有用,那么请为大魔王先生轻轻点个赞,ありがとう