【SpringBoot】9 定时任务(Quartz)
在Spring Boot中使用Quartz创建一个简单的定时任务可以通过以下步骤实现:
- 添加依赖:确保在
pom.xml
中添加了Quartz的依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
- 创建一个定时任务:实现
org.quartz.Job
接口。
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class SampleJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// 任务逻辑
System.out.println("定时任务执行: " + System.currentTimeMillis());
}
}
- 配置定时任务:在Spring配置类中配置JobDetail和Trigger。
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QuartzConfig {
@Bean
public JobDetail jobDetail() {
return JobBuilder.newJob(SampleJob.class).withIdentity("sampleJob").storeDurably().build();
}
@Bean
public Trigger trigger() {
return TriggerBuilder.newTrigger().forJob(jobDetail())
.withIdentity("sampleTrigger")
.withSchedule(simpleSchedule()
.withIntervalInSeconds(10) // 每10秒执行一次
.repeatForever())
.build();
}
}
- 启动Spring Boot应用:定时任务将会在指定的时间触发并执行。
确保你的应用类上有@EnableScheduling
注解,这样可以开启定时任务的支持。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
以上代码创建了一个简单的定时任务,每10秒执行一次。你可以根据实际需求调整Job和Trigger的配置。
评论已关闭