zoukankan      html  css  js  c++  java
  • 【原创】大数据基础之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

  • 相关阅读:
    详解Webpack-dev-server的proxy用法
    .sync修饰符
    [Vue]createElement参数
    ElementUi学习笔记
    A5000项目阅读笔记
    webpack学习-10天搞定webpack4
    bhuilder 采坑日记-大小写问题
    angularjs:$$animateJs is not a function 错误
    webpack4 Cannot find module '@babel/core'
    算法-图论-最短路径-Dijsktra算法
  • 原文地址:https://www.cnblogs.com/barneywill/p/9895225.html
Copyright © 2011-2022 走看看