Spring Boot2 系列教程(十六)定时任务的两种实现方式,金九银十旗开得胜

本文介绍了在Spring Boot2中使用Quartz作为定时任务的两种方式,包括直接定义Bean和继承QuartzJobBean。详细阐述了JobDetail和Trigger的概念,并提供了配置示例。此外,还提到了@Scheduled注解的简单用法与Quartz的CronTrigger的类似之处。
摘要由CSDN通过智能技术生成

一般在项目中,除非定时任务涉及到的业务实在是太简单,使用 @Scheduled 注解来解决定时任务,否则大部分情况可能都是使用 Quartz 来做定时任务。在 Spring Boot 中使用 Quartz ,只需要在创建项目时,添加 Quartz 依赖即可:

项目创建完成后,也需要添加开启定时任务的注解:

@SpringBootApplication

@EnableScheduling

public class QuartzApplication {

public static void main(String[] args) {

SpringApplication.run(QuartzApplication.class, args);

}

}

Quartz 在使用过程中,有两个关键概念,一个是JobDetail(要做的事情),另一个是触发器(什么时候做),要定义 JobDetail,需要先定义 Job,Job 的定义有两种方式:

第一种方式,直接定义一个Bean:

@Component

public class MyJob1 {

public void sayHello() {

System.out.println(“MyJob1>>>”+new Date());

}

}

关于这种定义方式说两点:

  1. 首先将这个 Job 注册到 Spring 容器中。

  2. 这种定义方式有一个缺陷,就是无法传参。

第二种定义方式,则是继承 QuartzJobBean 并实现默认的方法:

public class MyJob2 extends QuartzJobBean {

HelloService helloService;

public HelloService getHelloService() {

return helloService;

}

public void setHelloService(HelloService helloService) {

this.helloService = helloService;

}

@Override

protected void executeInternal(JobExecut

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值