SpringBoot quartz
时间: 2023-10-26 18:03:25 浏览: 107
Springboot2+quartz可视化+logback
SpringBoot集成Quartz可实现定时任务的调度,具体步骤如下:
1. 添加依赖
在`pom.xml`文件中添加`spring-boot-starter-quartz`依赖。
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
```
2. 配置Quartz
在`application.properties`文件中添加Quartz的配置信息。
```
# 配置JobStore类型
spring.quartz.job-store-type=jdbc
# 配置数据源
spring.quartz.jdbc.initialize-schema=always
spring.datasource.url=jdbc:mysql://localhost:3306/quartz?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 配置Scheduler
spring.quartz.scheduler.instanceName=MyScheduler
spring.quartz.scheduler.instanceId=AUTO
spring.quartz.scheduler.skipUpdateCheck=true
```
3. 创建Job
创建继承`org.quartz.Job`接口的Job类,实现`execute`方法。例如:
```
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// 执行任务逻辑
System.out.println("任务执行了!");
}
}
```
4. 创建Trigger
创建触发器`Trigger`,设置触发条件和调度策略。例如:
```
// 每隔5秒执行一次
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger")
.startNow()
.withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))
.build();
```
5. 创建Scheduler
创建调度器`Scheduler`,将Job和Trigger添加到调度器中。例如:
```
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob")
.build();
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
```
以上就是SpringBoot集成Quartz实现定时任务调度的基本步骤。
阅读全文