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

  • 相关阅读:
    mysql总结
    spirngmvc整合mybatis实现CRUD
    java lesson09总结
    Java lesson08 Homework
    java Lesson08总结
    【DFS】bzoj2435 [Noi2011]道路修建
    【BFS】bzoj2252 [2010Beijing wc]矩阵距离
    【BFS】bzoj1054 [HAOI2008]移动玩具
    【搜索】bzoj3109 [cqoi2013]新数独
    【搜索】【约数个数定理】[HAOI2007]反素数ant
  • 原文地址:https://www.cnblogs.com/barneywill/p/9895225.html
Copyright © 2011-2022 走看看