首页>新闻详情

了解quartz体系结构

来源:洛阳达内教育IT培训中心 时间:2021/9/9 11:36:20

 了解quartz体系结构:
  (1):任务Job:
  (2):触发器Trigger描述触发Job执行的触发时间规则。主要有SimpleTrigger和CronTrigger两个子类。当仅需触发一次或者以固定时间间隔周期执行,SimpleTrigger是较适合的选择;而CronTrigger则可以通过Cron表达式定义出各种复杂时间规则的调度方案:如周一、周三、周五下午5:00执行。
  (3):调度器(scheduler)代表一个Quartz的独立运行容器,Trigger和JobDetails可以注册到Scheduler中,两者在Scheduler中拥有各自的组及名称,组及名称是Scheduler查找定位容器中某一对象的依据,Trigger的组及名称必须,JobDetail的组和名称也必须(但可以和Trigger的组和名称相同,因为它们是不同类型的)。Scheduler定义了多个接口方法,允许外部通过组及名称访问和控制容器中Trigger和JobDetail。Scheduler可以将Trigger绑定到某一JobDetail中,这样当Trigger触发时,对应的Job就被执行。一个Job可以对应多个Trigger,但一个Trigger只能对应一个Job。可以通过SchedulerFactory创建一个Scheduler实例。
  一个Job可以对应多个Trigger,一个Trigger只能对应一个Job
 quartz简单的实现:
  步骤:(1):首先需要生成一个调度器工厂SchedulerFactory;

  (2):然后通过getScheduler()方法从调度器工厂里得到调度器实例,首先查找有没有这样的调度器,没有的话,就生成一个,有的话直接返回。所以得到的一般是单例,即默认的调度器;

了解quartz体系结构

 Quartz集群配置
  quartz集群是通过数据库表来感知其他的应用的,各个节点之间并没有直接的通信。只有使用持久的JobStore才能完成Quartz集群。
  数据库表:以前有12张表,现在只有11张表,现在没有存储listener相关的表,多了QRTZ_SIMPROP_TRIGGERS表:
  Table nameDescription
  QRTZ_CALENDARS存储Quartz的Calendar信息
  QRTZ_CRON_TRIGGERS存储CronTrigger,包括Cron表达式和时区信息
  QRTZ_FIRED_TRIGGERS存储与已触发的Trigger相关的状态信息,以及相联Job的执行信息
  QRTZ_PAUSED_TRIGGER_GRPS存储已暂停的Trigger组的信息
  QRTZ_SCHEDULER_STATE存储少量的有关Scheduler的状态信息,和别的Scheduler实例
  QRTZ_LOCKS存储程序的悲观锁的信息
  QRTZ_JOB_DETAILS存储每一个已配置的Job的详细信息
  QRTZ_SIMPLE_TRIGGERS存储简单的Trigger,包括重复次数、间隔、以及已触的次数
  QRTZ_BLOG_TRIGGERSTrigger作为Blob类型存储
  QRTZ_TRIGGERS存储已配置的Trigger的信息
  QRTZ_SIMPROP_TRIGGERS
  QRTZ_LOCKS就是Quartz集群实现同步机制的行锁表,包括以下几个锁:CALENDAR_ACCESS、JOB_ACCESS、MISFIRE_ACCESS、STATE_ACCESS、TRIGGER_ACCESS。
上一页下一页

推荐课程更多>

免费申请体验课

洛阳达内教育IT培训中心

版权所有:名校网

  • 在线咨询
  • 电话咨询
  • 免费试听