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

  • 相关阅读:
    模拟最烂的网速
    TableView编辑状态下跳转页面的崩溃处理
    Swift的Optional类型
    autolayout之后获取uiview的frame
    Swift中的闭包(Closure)[转]
    Swift1.2与Xcode6.3 beta
    python技巧31[python中使用enum][转]
    Python初学者的捷径[译]
    tornado+bootstrap急速搭建你自己的网站
    Windows下nginx+tomcat实现简单的负载均衡、动静分离等
  • 原文地址:https://www.cnblogs.com/barneywill/p/9895225.html
Copyright © 2011-2022 走看看