SpringBoot定時任務

2021-10-09 03:28:40 字數 1907 閱讀 8083

使用 spring 自帶的定時任務處理器 @scheduled 註解

使用:新增 web 依賴 spring-boot-starter-web

@enablescheduling

public

class

}配置定時任務:

@scheduled

(fixedrate =

2000

)public

void

fixedrate()

@scheduled

(fixeddelay =

2000

)public

void

fixeddelay()

@scheduled

(initialdelay =

2000

,fixeddelay =

2000

)public

void

initialdelay()

首先使用 @scheduled 註解開啟乙個定時任務。

fixedrate 表示任務執行之間的時間間隔,具體是指兩次任務的開始時間間隔,即第二次任務開始時,第一次任務可能還沒結束。

fixeddelay 表示任務執行之間的時間間隔,具體是指本次任務結束到下次任務開始之間的時間間隔。

initialdelay 表示首次任務啟動的延遲時間。(單位都是毫秒

quartz

建立專案時在io中選擇quartzscheduler。

新增開啟定時任務的註解。

@enablescheduling

public

class

}quartz 在使用過程中,需要定義jobdetail、觸發器。

定義 jobdetail,需要先定義 job,job 的定義有兩種方式:

@component

public

class

myjob1

}

注入到spring容器中,但是無法傳參。

public

class

myjob2

extends

quartzjobbean

public

void

sethelloservice

(helloservice helloservice)

@override

protected

void

executeinternal

(jobexecutioncontext jobexecutioncontext)

throws jobexecutionexception

}public

class

helloservice

}

定義觸發器

@configuration

public

class

quartzconfig

@bean

jobdetailfactorybean jobdetailfactorybean()

@bean

******trigge***ctorybean ******trigge***ctorybean()

@bean

crontrigge***ctorybean crontrigger()

@bean

schedule***ctorybean schedule***ctorybean()

@bean

helloservice helloservice()

}

SpringBoot 定時任務

第一步 在啟動類中加入如下註解 enablescheduling public class public static void main string args 注意 enablescheduling必須加,否則無法開啟定時任務 第二步 建立定時任務 component public class ...

Spring boot定時任務

最近做專案,需要使用定時任務,半個小時去更新redis資料,於是便學習了一下經驗。希望可以幫到你們。定時任務可使用三種 created by fx on 2017 9 4.component allargsconstructor public class featuredatatask 實現乙個任務...

Spring boot 定時任務

1.在啟動類上加 enablescheduling註解 package com.example.demo import org.springframework.scheduling.annotation.enablescheduling enablescheduling public static ...