手把手带你入门quartz(含入门测试Case)

最近在做批量调度系统,用到了quartz定时调度的功能,因此学习了解了quartz,写一篇博客总结与分享。

本文从引入jar包开始,手把手带你入门领略quartz的基础功能,涉及的代码可以直接复制到自己的ide中运行。

本文大纲:

1、什么是quartz

2、怎么使用quartz以及Demo代码

==========================================开始分割线===============================================

1、什么是quartz

官网介绍:

quartz是一个功能丰富、开源的任务调度库,它可以被集成到所有的Java程序,无论是很小的单节点还是规模庞大的商业系统。quartz可以被用来创建简单或者复杂的调度策略,以执行成千上万的任务。任务一般是指一个标准的Java组件,实际上可以是你写代码指定的任何逻辑。Quartz Scheduler还包括很多企业级的特性,例如JTA事务控制和集群。

换句话说,我们有时候需要一些定时调度程序的功能,单纯用JDK的Timer类并不能满足我们的需求,因此就有了quartz来处理我们的定时调度,quartz提供了一些Scheduler(调度策略),以便我们管理和执行我们的Job(任务)。

2、怎么使用quartz以及Demo代码

首先,当然是引入jar包,新建一个简单的Maven项目,引入以下的jar。(若是Spring或者SpringBoot则需要引入对应的jar)

<dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.3.0</version>
    </dependency>

本文案例的项目结构如下:

目录结构很简单有木有,只有两个包一共涉及三个类,就可以测试quartz的大部分功能了。不要着急代码,看完包结构,先讲解一下quartz使用的几个核心API:

  • Job:顾名思义,就是我们要定时调度的作业,也是我们使用quartz主要要执行的程序。
  • JobDetail:用于定义作业的实例。
  • JobBuilder:用于定义/构建JobDetail实例。
  • Trigger(即触发器):定义执行给定作业的计划的组件。
  • TriggerBuilder:用于定义/构建触发器实例。
  • Scheduler:与调度程序交互的主要API。

可以看出来,整个定时调度,可以归类为三部分,

第一部分是Job

自定义一个Job类要实现Job接口,重写execute()方法,方法体的内部就是要调度执行的程序,方法参数为JobExecutionContext实例,为Job调度的上下文对象,可以从中拿出对应的触发器,JobDetail等一些调度的详细信息。废话不多说直接上Job的代码。

pa
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值