quartz定时器依赖_SpringBoot使用Quartz实现定时器功能

spirngboot可以使用Quartz实现定时器的功能,是一个完全由Java编写的开源任务调度框架,通过触发器设置作业定时运行规则、控制作业的运行时间。Quartz定时器作用很多,比如定时发送信息、定时生成报表等。

Quartz框架主要核心组件包括调度器、触发器、作业。调度器作为作业的总指挥,触发器作为作业的操作者,作业为应用的功能模块。

Job

Job是一个接口,该接口只有一个方法execute,被调度的作业(类)需实现该接口中的execute方法,JobExecutionContext类提供了调度上下文的各种信息。每次执行该Job均重创建一个Job实例

publicinterfaceJob{

voidexecute(JobExecutionContextvarl)throwsJobExecutionE xception;

}

JobDetail与Trigger

Quartz在每次执行Job时,都重新创建一个Job实例,所以它不直接接收一个Job实例,相反它接收一个Job实现类,以便运行时通过newInstance的反射机制实例化Job。此通过JobDetail类来描述Job的实现类及其他相关的静态信息,如Job名字、描述、关联监昕器等信息。一个JobDetail可以有多个Trigger,但是一个Trigger只能对应一个JobDetail。Trigger发器描述触发Job的执行规则,主要有SimpleTrigger和CronTrigger两个子类。当仅需触发一次或者以固定时间间隔周期执行时,SimpleTrigger是最适合的选择;而CronTrigger则可以通过Cron表达式定义出各种复杂时间规则的调度方案,Cron表达式定义如下:

[秒][分][小时][日][月][周][年]

例子:

0012**?每天12点触发

Scheduler

Scheduler负责管理Quartz的运行环境,Quart z是基于多线程架构的,启动的时候会初始化一套线程,这套线程用来执行一些预置的作业。Trigge r和JobDetail可以注册到Scheduler中。Scheduler可以将Trigger绑定到某一JobDetail中,这样当Trigger触发时,对应的Job就会被执行。

引入依赖

SpringBoot中集成Quartz,首先需要在pom.xml文件中引入所需的依赖;

org.quartz-scheduler

quartz

2.2.3

配置定时器

建定时器的方法有两种:1。使用XML配置文件的方式;2.使用注解的方式。注解的方式不需要任何配置文件且简单高效,这里推荐使用注解方式

使用注解的方式

只需要创建一个定时器类,加上相关的注解就可以了

@Component

@Configurable

@EnableScheduling

publicclassSendMail{

//每5秒执行一次

@Scheduled(cron="*/5 * * * * *")

publicvoidreportCurrent(){

System.out.println("发送邮件");

}

}

@Configurable:加上此注解的类相当于XML配直文件,可以被SpringBoot扫描初始化。

@EnableScheduling:通过在配直类注解@EnableScheduling来开启对计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。

@cheduled:注解为定时任务,在cron表达式里写执行的时机。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值