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

SpringBoot中使用Quartz設(shè)置定時(shí)任務(wù)的實(shí)例詳解

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

基礎(chǔ)使用

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

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

添加依賴

<!-- 核心包 -->
<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類

這個(gè)類用來進(jìn)行任務(wù)描述,進(jìn)行定時(shí)執(zhí)行并將對(duì)應(yīng)的執(zhí)行邏輯類進(jìn)行綁定

import org.quartz.*;  
import org.springframework.context.annotation.Bean;  
import org.springframework.context.annotation.Configuration;  
  
/**  
 * 定義任務(wù)描述和具體的執(zhí)行時(shí)間  
 */  
@Configuration  
public class QuartzConfig {  
    @Bean    public JobDetail jobDetail() {  
        //指定任務(wù)描述具體的實(shí)現(xiàn)類  
        return JobBuilder.newJob(IDCardWarningJob.class)  
                // 指定任務(wù)的名稱  
                .withIdentity("IDCardWarningJob")  
                // 任務(wù)描述  
                .withDescription("任務(wù)描述:身份預(yù)警更新表")  
                // 每次任務(wù)執(zhí)行后進(jìn)行存儲(chǔ)  
                .storeDurably()  
                .build();  
    }  
  
    @Bean  
    public Trigger trigger() {  
        //創(chuàng)建觸發(fā)器  
        return TriggerBuilder.newTrigger()  
                // 綁定工作任務(wù)  
                .forJob(jobDetail())  
//                .withSchedule(CronScheduleBuilder.dailyAtHourAndMinute(1, 0))  // 設(shè)置每天凌晨1點(diǎn)觸發(fā)一次任務(wù)  
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 1 * * ?"))  // 設(shè)置每天凌晨1點(diǎn)觸發(fā)一次任務(wù)  
                .build();  
    }  
}

demoJob類

這個(gè)類負(fù)責(zé)定時(shí)任務(wù)的邏輯處理(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();  
    }  
}

關(guān)于cron表達(dá)式可以跳轉(zhuǎn)這個(gè)連接->表達(dá)式生成器

以上就是SpringBoot中使用Quartz設(shè)置定時(shí)任務(wù)的實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot Quartz定時(shí)任務(wù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論