首先大概的了解一下Quartz。

一:首先进入官网去看看什么是quartz。http://www.quartz-scheduler.org/

Quartz是一个功能丰富的开源作业调度库,可以集成到几乎任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统。石英可用于创建执行数十,数百甚至数十万个作业的简单或复杂的计划; 任务定义为标准Java组件的任务,可以执行任何可以对其进行编程的任何内容。Quartz Scheduler包含许多企业级功能,例如支持JTA事务和集群。Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现。

二:Quartz 具有以下特点:

  1. 强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求;
  2. 灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式;
  3. 分布式和集群能力。

另外,作为 Spring 默认的调度框架,Quartz 很容易与 Spring 集成实现灵活可配置的调度功能。

三:Quartz主要用到的设计模式

   Builder模式

   Factory模式

   组件模式

   链式写法

四:核心概念

  调度器(Scheduler):定时定频率的去执行任务

  任务(Job):被调度的任务(业务逻辑)

  触发器(Trigger):生效的时间

五:主要组成的部分

  Job

  JobDetail

  JobBuilder

  JobStore

  Trigger

  TriggerBuilder

  ThreadPool

  Scheduler

  Calendar:一个Trigger可以和多个Calendar关联,以排除或包含某些时间点

  监听器:JobListener    TriggerListener    SchedulerListener。

  

初识Quartz (一)的更多相关文章

  1. 初识Quartz之第一个Quartz实例

    转: 初识Quartz之第一个Quartz实例 2018年04月09日 17:07:31 carson0408 阅读数:366   版权声明:本文为博主原创文章,未经博主允许不得转载. https:/ ...

  2. 初识quartz 并分析 项目中spring整合quartz的配置【原创+转载】

    初识quartz 并分析 项目中spring整合quartz的配置[原创+转载]2018年01月29日 12:08:07 守望dfdfdf 阅读数:114 标签: quartz 更多个人分类: 工具 ...

  3. 初识Quartz(入门案例)+常用的Cron表达式

    1.Quartz架构图 1.实体层 package cn.happy.entity; //1. public class Plan { //时间 private String date; //任务 p ...

  4. 初识Quartz(二)

    简单作业: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 package quartz_pr ...

  5. 初识Quartz(三)

    本文将介绍CronTrigger的使用方法,CronTrigger相比 SimpleTrigger可以支持更复杂的作业计划.cron这一观念来自UNIX,在UNIX中,cron是一个运行于后台的守护程 ...

  6. 初识Quartz(一)

    首先需要一个任务: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 package quartz_proj ...

  7. Quartz使用(1) - 初识quartz

    1. 背景 由于最新的工作项目中,需要使用quartz框架,以完成相关的任务的定时执行.经过两周的调研与使用,本系列博客会参考官网及网上相关博客,结合工作项目中的使用,详细介绍quartz的各个方面. ...

  8. 1.初识Quartz

    开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/QuartzDemo.git 前言: 接触一个新事物的开始,我们都会产生一些疑问: Quartz是什 ...

  9. Quartz使用(2) - Quartz核心接口Scheduler、Job

    quartz的核心接口如下: 接口 含义 Scheduler scheduler的主要API接口 Job 任务实现接口,期望调度器能够执行 JobDetail 用于定义Job实例 Trigger 调度 ...

随机推荐

  1. iOS开发第三方库一 IQKeyboardManager

    每一个iOS应用的开发者在工作中都会遇到需要用户键盘输入数据的需求,而输入框(UITextField/UITextView)的父界面可能是普通的UIView,也可能是UIScrollView,UITa ...

  2. 5阶m序列

    void echo32(int m) { printf("%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d\n ...

  3. 别人的Linux私房菜(11)认识与学习BASH

    Linux下使用BASH   Bourne Again Shell        另外一种由用于Unix的伯克利大学的Bill Joy设计的C Shell 系统中合法的shell会写入到/etc/sh ...

  4. 第41章:MongoDB-集群--Sharding(分片)

    ①Sharding分片概念 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载. 分片是每个分 ...

  5. gitlab 搭建自己的源代码管理器

    首先  gitlab 是不支持 windows.mac os 的,具体支持的系统参照官网的 1.安装虚拟机 ubuntu16.04 需要注意的一点:gitlab 服务器 与 客户端必须在一个局域网内( ...

  6. 通过MFC设计一个简单的计价程序

    1.实验目的 掌握使用MFC应用程序向导创建应用程序的方法. 掌握新建对话框资源的方法. 掌握生成对话框的方法. 2.实验内容 用应用程序创建一个默认的对话框应用程序,在对话框中能进入下一个对话框,在 ...

  7. js-闪烁的文字

    <!DOCTYPE html><html>    <head lang="en">        <meta charset=" ...

  8. 在Git中设置自己的姓名

    在Git中,自己的姓名与每一个commit提交绑定在一起.如果你在使用Azure DevOps Server中的Git Repo时,一定要注意commit中的提交者与服务器上的推送者,是两个概念. 在 ...

  9. Linux下Redis安装使用教程

    https://redis.io/download 第一步:安装redis需要在有c语言的编译环境下,执行命令安装c语言环境: yum install gcc-c++ https://blog.csd ...

  10. web API简介(四):客户端储存之IndexedDB API

    概述 前篇:web API简介(三):客户端储存之Web Storage API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. Index ...