• Quartz学习记录


    什么是Quartz?

      Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。 Quartz用一个小Java库发布文件(.jar文件),这个库文件包含了所有Quartz核心功能。这些功能的主要接口(API)是Scheduler接口。它提供了简单的操作,例如:将任务纳入日程或者从日程中取消,开始/停止/暂停日程进度。 

    Quartz可以用来做什么?

    Quartz是一个任务调度框架。比如你遇到这样的问题

    • 想每月25号,信用卡自动还款
    • 想每年4月1日自己给当年暗恋女神发一封匿名贺卡
    • 想每隔1小时,备份一下自己工作日志

    这些问题总结起来就是:在某一个有规律的时间点干某件事。并且时间的触发的条件可以非常复杂(比如每月最后一个工作日的17:50),复杂到需要一个专门的框架来干这个事。 Quartz就是来干这样的事,你给它一个触发条件的定义,它负责到了时间点,触发相应的Job起来干活。

    Quartz特点

    •  强大的调度功能(作为Spring默认的调度框架,quartz很容易和spring 集成,实现灵活可配置的调度功能,还提供调度运行环境持久化机制可以保持并恢复调度现场,即使因系统故障)
    • 灵活的应用方式
    • 分布式和集群能力

    Quartz的设计模式

    • builder模式
    • 工厂模式
    • 组件模式
    • 链式写法

    三个核心概念

    • 调度器
    • 任务
    • 触发器

    Quartz体系结构

    Quartz重要组成

    • Job(接口)
    • JobDetail
    • JobBuilder
    • JobStore(接口)
    • Trigger
    • TriggerBuilder
    • ThreadPool
    • Scheduler
    • Calendar一个Trigger可以和多个Calendar关联,以排除或包含某些时间点
    • 监听器(JobListener、TriggerListener 、SchedulerListener)
  • 相关阅读:
    python笔记-2
    python笔记-1
    生成列表
    内置函数
    装饰器、包的导入
    python3 编码
    python3 初识函数
    python3 文件读写
    python3 流程控制
    python3 数据类型
  • 原文地址:https://www.cnblogs.com/zhou-test/p/9712445.html
Copyright © 2020-2023  润新知