July 15, 2018

Quartz分享

1. What

1. 简单介绍

Quartz是由OpenSymphony公司开源的一个定时任务调度框架,完全由Java开发。有以下的特点:

强大的调度功能。支持丰富多样的调度方法,可以满足各种常规及特殊需求。

灵活的应用方式。支持任务和调度的多种组合方式,支持调度数据的多种存储方式。

分布式和集群能力。

容易与其他框架集成,使用简单。

Quartz支持几乎以下所有的触发方式

在一天中的任意时刻(可以精确到毫秒)。

一周中特定的一些天。

一个月中特定的一些天。

一年中特定的一些天。

不在日历列表中注册的一些天(比如节假日)。

循环特定的次数。

无限循环。

按照一定的时间间隔循......

April 07, 2018

一个简单的任务调度系统的实现

在实际工作中经常会需要定时任务调度,比如每隔5分钟检查下订单的状态,每天早上发送8点发送邮件等等。

April 07, 2018

Quartz源码分析

第一部分:What

暂略

第二部分:How

暂略(主要介绍Quartz的基本使用、几个基本组件以及各个组件之间的关系)

第三部分:Why

从上文可以知道,使用Quartz的入口点是Scheduler,那么我们就从Scheduler开始分析。

3.1 Scheduler

Scheduler是个接口,定义了一个最基本的调度器应该提供的能力。

Quartz提供了多个Scheduler的实现,但是我们最常用的就是StdScheduler,所以我们主要从StdScheduler开始分析。

上面的demo中我们首先通过代码

Scheduler scheduler = StdSchedule......