【Quartz】1、概述

1 Quartz介绍:Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or c
摘要由CSDN通过智能技术生成

1 Quartz介绍:

Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may execute virtually anything you may program them to do. The Quartz Scheduler includes many enterprise-class features, such as support for JTA transactions and clustering.

介绍来源于Quartz官网,简单说Quartz是开源的特性丰富的任务调度库,可用于多种场景:

  • Quartz可以运行嵌入在另一个独立式应用程序。
  • Quartz可以在应用程序服务器(或servlet容器)内被实例化,并且参与事务。
  • Quartz可以作为一个独立的程序运行(其自己的Java虚拟机内),可以通过RMI使用。
  • Quartz可以被实例化,作为独立的项目集群(负载平衡和故障转移功能),用于作业的执行。

2 Quartz中的主要概念

Quartz中的主要概念有Job、JobDetail、Trigger、Schedule,其中Job与JobDetail共同定义了需要执行的任务及任务细节,Trigger为触发器,Schedule为调度器。

现在考虑有如下需求:系统运行过程中会产生大量的业务数据,需求为每周一、三、五、七的晚上23:00定时对数据表做增量扫描,对业务数据进行稽核审查。

Job:你想要实现的任务类,每一个Job必须实现org.quartz.job接口,且只需实现接口定义的execute()方法。在本例中,通过Job定义业务过程,及增量扫描、稽核审查等;

JobDetail:Job类定义了具体的任务行为,但是Job类中不能定义状态变量,因为job类的execu()在每次执行前都会生成新的实例,执行完毕后实例就会被作为垃圾回收。因此状态变量则需要借助JobDetail进行定义。

Trigger:执行任务的触发器,Trigger定义了任务的具体执行时机或者任务执行规则,如本例中的每周一、三、五、七的晚上23:00定时执行即通过Trigger进行设置。

Schedule:任务的调度器,Schedule将Trigger与JobDetail进行整合,实现对任务的调度,如本例中需要通过Schedule控制定时任务从何时生效、何时暂停、何时终止等。

需要说明的是,Quartz中对Job与Trigger进行了解耦设计,这样的设计可以使任务调度更加灵活。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值