目录
- 基础使用
- 添加依赖
- demo
基础使用
Quartz 的核心类有以下三部分:
- 任务 Job : 需要实现的任务类,实现
execute()方法,执行后完成任务。 - 触发器 Trigger : 包括
SimpleTrigger和CronTrigger。 - 调度器 Scheduler : 任务调度器,负责基于
Trigger触发器,来执行 Job任务。
添加依赖
<!-- 核心包 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartzwww.devze.com</artifactId>
<version>2.3.0</version>
</dependency>
<!-- 工具包 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.3.0</version>
</dependency>
demo
QuartzConfig类
这个类用来进行任务描述,进行定时执行并将对应的执行逻辑类进行绑定
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.sprandroidingframework.context.annotation.Configuration;
/**
* 定义任务描述和具体的执行时间
*/
@Configuration
public class QuartzConfig {
@Bean public JobDetail jobDetail() {
//指定任务描述具体的实现类
return JobBuilder.newJob(IDCardwarningJob.class)
// 指定任务的名称
.withIdentity("IDCardWarningJob")
// 任务描述
.withDescription("任务描述:身份预警更新表")
// 每次任务执行后进行存储
.storeDurably()
.build();
}
@Bean
public Trigger trigger() {
//创建触发器
return TriggerBuilder.newTrigger()
// 绑定工作任务
.forJob(jobDetail())
// .withSchedule(CronScheduleBuilder.dailyAtHourAndMinute(1, 0)) // 设置每天凌晨1点触发一次任务
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 1 * * ?")) // 设置每天凌晨1点触发一次任务
.build();
}
}
demoJob类
这个类负责定时任务的逻辑处理(execute方法中写代码逻辑)
import com.alibaba.druid.support.logging.Log;
import com.alibaba.druid.support.logging.LogFactory;
import com.iknight.cost.service.IdentityWarningService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
public class IDCardWarningJob implements Job {
private static final Log logger = LogFactory.getLog(IDCardWarningJob.class);
@Autowired
private IdentityWarningService service;
public void setClaimPostServiceImpl(IdentityWarningService service) {
this.service =编程客栈 service;
}
@Override
public void execute(JobExecutionContPDvDYext context) throws JobExecutionException {
service.updateDate();
}
}
关于cron表达式可以跳转这个连接->表达式生成器
以上就是SpringBoot中使用Quartz设置定时任务的实例详解的详细内容,更多关于SpringBoot Quartz定时任务js的资料请关注编程客栈(www.devze.com)其它相关文章!
加载中,请稍侯......
精彩评论