Quartz

来源:互联网 发布:linux vi命令怎么使用 编辑:程序博客网 时间:2024/06/09 22:43

任务调度领域的领域的开源项目,完全基于java实现。

核心元素:scheduler  任务调度器,Trigger  触发器,job  任务。


Trigger(4种)定义时间规则,用于执行任务。


Job 表示被调度的任务。2种类型:stateless,stateful。有状态的job不能被并行执行,只有上一次触发的任务被执行完之后才能触发下一次执行。

Job2种属性:

volatility表示任务是否被持久化到DB。

durability表示没有trigger关联的时候任务是否被保留。

1个job可以被多个trigger关联。1个trigger只能关联1个job。


Scheduler 由scheduler工厂创建:DirectSchedulerFactory或者StdSchedulerFactory。第二种工厂StdSchedulerFactory使用较多,因为DirectSchedulerFactory使用起来不够方便,需要作许多详细的手工编码设置。

3种:RemoteMBeanScheduler,RemoteScheduler,StdScheduler

核心元素之间的关系

quartz最基本的概念就是job,在job内调用具体service完成具体功能,quartz需要把每个job存储起来,方便调度。

quartz存储job方式就分三种。

RAMJobStore(默认)