欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot中使用Quartz設置定時任務的實例詳解

 更新時間:2023年12月01日 09:50:06   作者:鱸魚不會起名鴨  
Quartz是OpenSymphony開源組織在任務調度領域的一個開源項目,完全基于 Java 實現,本文小編給大家介紹了SpringBoot中如何使用Quartz設置定時任務,文中通過代碼示例給大家講解的非常詳細,需要的朋友可以參考下

基礎使用

Quartz 的核心類有以下三部分:

  • 任務 Job : 需要實現的任務類,實現 execute() 方法,執(zhí)行后完成任務。
  • 觸發(fā)器 Trigger : 包括 SimpleTrigger 和 CronTrigger
  • 調度器 Scheduler : 任務調度器,負責基于 Trigger觸發(fā)器,來執(zhí)行 Job任務。

添加依賴

<!-- 核心包 -->
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</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類

這個類用來進行任務描述,進行定時執(zhí)行并將對應的執(zhí)行邏輯類進行綁定

import org.quartz.*;  
import org.springframework.context.annotation.Bean;  
import org.springframework.context.annotation.Configuration;  
  
/**  
 * 定義任務描述和具體的執(zhí)行時間  
 */  
@Configuration  
public class QuartzConfig {  
    @Bean    public JobDetail jobDetail() {  
        //指定任務描述具體的實現類  
        return JobBuilder.newJob(IDCardWarningJob.class)  
                // 指定任務的名稱  
                .withIdentity("IDCardWarningJob")  
                // 任務描述  
                .withDescription("任務描述:身份預警更新表")  
                // 每次任務執(zhí)行后進行存儲  
                .storeDurably()  
                .build();  
    }  
  
    @Bean  
    public Trigger trigger() {  
        //創(chuàng)建觸發(fā)器  
        return TriggerBuilder.newTrigger()  
                // 綁定工作任務  
                .forJob(jobDetail())  
//                .withSchedule(CronScheduleBuilder.dailyAtHourAndMinute(1, 0))  // 設置每天凌晨1點觸發(fā)一次任務  
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 1 * * ?"))  // 設置每天凌晨1點觸發(fā)一次任務  
                .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(JobExecutionContext context) throws JobExecutionException {  
        service.updateDate();  
    }  
}

關于cron表達式可以跳轉這個連接->表達式生成器

以上就是SpringBoot中使用Quartz設置定時任務的實例詳解的詳細內容,更多關于SpringBoot Quartz定時任務的資料請關注腳本之家其它相關文章!

相關文章

最新評論