springboot基于内存持久化集成quartz代码
时间: 2023-06-10 12:05:13 浏览: 60
可以参考以下代码:
首先,需要在pom.xml文件中添加quartz和spring-boot-starter-quartz的依赖:
```
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
```
然后,创建一个Job类,例如:
```
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("Job executed at " + new Date());
}
}
```
接着,创建一个JobDetail和Trigger,将它们注册到Scheduler中:
```
@Configuration
public class QuartzConfig {
@Bean
public JobDetail myJobDetail() {
return JobBuilder.newJob(MyJob.class)
.withIdentity("myJob")
.storeDurably()
.build();
}
@Bean
public Trigger myTrigger() {
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(10)
.repeatForever();
return TriggerBuilder.newTrigger()
.forJob(myJobDetail())
.withIdentity("myTrigger")
.withSchedule(scheduleBuilder)
.build();
}
@Bean
public SchedulerFactoryBean schedulerFactoryBean() {
SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
schedulerFactoryBean.setAutoStartup(true);
schedulerFactoryBean.setJobDetails(myJobDetail());
schedulerFactoryBean.setTriggers(myTrigger());
return schedulerFactoryBean;
}
}
```
最后,启动程序即可看到定时任务每隔10秒输出一次信息:
```
Job executed at Wed May 13 10:07:30 CST 2020
Job executed at Wed May 13 10:07:40 CST 2020
Job executed at Wed May 13 10:07:50 CST 2020
...
```