quartz框架(五)-Trigger相关内容

上篇博文,博主介绍了Job的相关内容。本篇博文,博主将介绍Trigger相关的内容。

Trigger是触发器的意思,它只定义Trigger相关属性的Get方法。一个Trigger只能关联一个Job,而一个Job可以关联到多个Trigger。

Triigger的相关接口如下:

前面说到Trigger只是定义了相关属性的Get方法,并没有Set方法。而MutableTrigger接口则定义了相关属性的set方法,如setKey方法。

OperableTrigger接口从字面上来说时可操作的Trigger。也就是Trigger被QuartzSchedulerThread获取到之后,在不同情况下需要进行操作的接口。OperableTrigger的相关接口如下:

SimpleTriggerImpl 实现了OperableTrigger接口,SimpleTriggerImpl的属性如下所示:

ScheduleBuilder是时间表构造器,它用户构造出实现了MutableTrigger的对象。ScheduleBuilder的源码如下所示:

public abstract class ScheduleBuilder  {
    protected abstract MutableTrigger build();
}

SimpleScheduleBuilder是简单的时间表构造器,它会在build方法中返回SimpleTriggerImpl实例,因此它可以定义SimpleTriggerImpl的属性,如withRepeatCount,repeatForever就是修改repeatCount和repeatInterval属性。

TriggerBuilder接口也是返回实现了MutableTrigger接口的对象,它内部还有一个
ScheduleBuilder的引用。TriggerBuilder只定义了通用的属性(也就是通用的骨架),如StartTime,EndTime和Key等属性。其它的可变属性则交给了对应的ScheduleBuilder实现类来设置。

什么是可变属性?

Original: https://www.cnblogs.com/chenhaoblog/p/15998572.html
Author: 幕友皎敖奔乾
Title: quartz框架(五)-Trigger相关内容

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/580684/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • RabbitMQ—–死信队列

    1.什么是TTL? a. time to live 消息存活时间 b. 如果消息在存活时间内未被消费,则会被清除 c. RabbitMQ支持两种ttl设置 -单独消息进行配置ttl…

    Java 2023年5月30日
    079
  • Mysql索引学习笔记

    https://www.jianshu.com/p/ace3cd6526c4 推荐up主https://space…

    Java 2023年6月14日
    0160
  • 【Java面试】谈谈常用的分布式ID设计方案

    “谈谈常用的分布式ID设计方案”! 一个工作了7年的同学,被问到了这样一个问题。问题并不难,但是在实际面试的时候,如果只是回答1,2,3很难通过面试,因为作…

    Java 2023年6月16日
    062
  • 第五周总结-Hadoop&Sqoop学习

    学习课程中的数据清洗sql语句 sql;gutter:true; start-all.sh #启动Hadoop集群 nohup /export/server/apache-hive…

    Java 2023年6月7日
    069
  • 设计模式——策略模式

    策略模式 策略模式是什么呢,可以把策略看成算法,我们通过传递不同的key,从而拿到不同的算法,仔细想想,这不就是if-else吗 原先的if-else逻辑 运行结果 if-else…

    Java 2023年6月8日
    0142
  • JDK之集合乱序源码分析

    在JAVA的JDK中Collections类提供了shuffle方法用来对给定的集合参数进行乱序重排,之前面试也被问到过类似的问题,看了一下JDK的源码实现做个记录 方法签名: C…

    Java 2023年6月16日
    053
  • JavaCV的摄像头实战之七:推流(带声音)

    借助JavaCV,完成本地摄像头和麦克风数据推送到媒体服务器的操作,并用VLC验证 欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://gith…

    Java 2023年6月8日
    088
  • Android Calendar 系统日历提醒、日程同步系统

    安卓往系统中添加日程提醒,吭比较多。 首先有个需求(仿制 ios 日历),为什么仿制ios呢?这个得问产品了,我只是一个搬砖的程序员 (*´艸`) 捂嘴 大致有 日期,时间,重复设…

    Java 2023年6月7日
    084
  • 函数式编程 jdk10中stream流里面peek方法

    最近在我的课程里面SpringBoot2.0不容错过的新特性 WebFlux响应式编程里面,有学员提出了以下问题,在jdk10里面代码没有执行(课程中stream流是用jdk8演示…

    Java 2023年6月9日
    057
  • 在阿里云上搭建私有GIT仓库

    在阿里云上搭建私有GIT仓库 年轻人就得好好学习,不能这么颓废 最近做项目练练手,用到了github, 但是github访问速度是真的慢啊,下载项目,下载一天了。所以呢,我是个成熟…

    Java 2023年6月8日
    099
  • JAVA面向对象的三大主线

    1、类及类的成员:属性、对象、构造器、代码块、内部类 2、特性:封装、继承、多态 3、其它关键字 面向过程:主要考虑解决问题,以函数为最小单位,考虑怎么做 面向对象:主要考虑谁去做…

    Java 2023年6月15日
    072
  • 与socket相关的流

    我看先看一下通过socket取得的流的运行类型 InputStream inputStream = socket.getInputStream(); 可以看到是SocketInpu…

    Java 2023年6月5日
    075
  • mybatis 拦截器

    1.mybatis拦截器介绍 拦截器可在mybatis进行sql底层处理的时候执行额外的逻辑,最常见的就是分页逻辑、对结果集进行处理过滤敏感信息等。 public Paramete…

    Java 2023年6月9日
    074
  • MongoDB常用命令(2)

    1、创建数据库 use testdb 2、创建集合 db.t_member.insert({name:"zhaomin",age:23}) 3、查询 db.t_…

    Java 2023年6月7日
    066
  • webpack快速入门(三):资源管理

    上一章说了基本的webpack是用,包括命令行打包,npm脚本打包等基础的东西。 这篇说一下webpack的资源管理,包括(图片,字体,数据),首先调整一下项目结构成: webpa…

    Java 2023年6月16日
    096
  • Linux常用文件管理命令详解

    cat cat命令用于连接文件并打印到标准输出设备上。 命令语法: cat [参数] [文件…

    Java 2023年6月7日
    055
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球