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

  • 相关阅读:
    数组的拼接
    numpy的切片和索引
    细说python中的round()方法
    Numpy数组的创建
    快排 [随机数]
    对于归并排序递归的理解
    A1044 Shopping in Mars [连续子序列分割]
    A1085 Perfect Sequence [二分、two pointers]
    快速幂
    [转] 二分法求外接圆最大半径
  • 原文地址:https://www.cnblogs.com/barneywill/p/9895225.html
Copyright © 2011-2022 走看看