Spring Boot 定時(shí)任務(wù)

為什么需要定時(shí)任務(wù)

生活中定時(shí)任務(wù)的需求越來(lái)越多霹俺,場(chǎng)景也越來(lái)越多

如何實(shí)現(xiàn)定時(shí)任務(wù)

  • Java自帶的java.util.Timer類(lèi)东揣,這個(gè)類(lèi)允許你調(diào)度一個(gè)java.util.TimerTask任務(wù)匾二。使用這種方式可以讓你的程序按照某一個(gè)頻度執(zhí)行岩饼,但不能在指定時(shí)間運(yùn)行氓辣。一般用的較少诵次,這篇文章將不做詳細(xì)介紹账蓉。
  • 使用線程池來(lái)實(shí)現(xiàn)定時(shí)
  • Spring3.0以后自帶的task枚碗,可以將它看成一個(gè)輕量級(jí)的Quartz,而且使用起來(lái)比Quartz簡(jiǎn)單許多铸本,稍后會(huì)介紹肮雨。

兩種方法的實(shí)現(xiàn)例子

  • timer類(lèi)
public class MyTimer {
    public static void main(String[] args) {
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                LocalDateTime current = LocalDateTime.now();
                String timeString = current.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
                System.out.println("task  run:"+ timeString);
            }
        };
        Timer timer = new Timer();
        //定時(shí)任務(wù)3秒后啟動(dòng),每1秒執(zhí)行一次
        timer.schedule(timerTask,3000,1000);
    }
}
  • 線程池
@Component
public class TimeService {
    public final static long ONE_Minute =  60 * 1000;
    SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

    @Scheduled(fixedDelay=ONE_Minute)
    public void fixedDelayJob(){
        System.out.println(format.format(new Date())+" >>fixedDelay執(zhí)行....");
    }

    @Scheduled(fixedRate=ONE_Minute)
    public void fixedRateJob(){
        System.out.println(format.format(new Date())+" >>fixedRate執(zhí)行....");
    }

    @Scheduled(cron="0 15 3 * * ?")
    public void cronJob(){
        System.out.println(format.format(new Date())+" >>cron執(zhí)行....");
    }
}

public class ScheduledExecutorServiceDemo {
    public static void main(String[] args) {
        ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
        LocalDateTime current = LocalDateTime.now();
        // 參數(shù):1箱玷、任務(wù)體 2怨规、首次執(zhí)行的延時(shí)時(shí)間
        //      3、任務(wù)執(zhí)行間隔 4锡足、間隔時(shí)間單位
        service.scheduleAtFixedRate(()->System.out.println("task ScheduledExecutorService "+current.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))), 3, 1, TimeUnit.SECONDS);
    }
}

源碼

https://github.com/heiyeziran/JPA/tree/master/schedulertask/src/main/java/com/example/demo/task

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末椅亚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子舱污,更是在濱河造成了極大的恐慌呀舔,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扩灯,死亡現(xiàn)場(chǎng)離奇詭異媚赖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)珠插,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)惧磺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人捻撑,你說(shuō)我怎么就攤上這事磨隘。” “怎么了顾患?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵番捂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我江解,道長(zhǎng)设预,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任犁河,我火速辦了婚禮鳖枕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘桨螺。我一直安慰自己宾符,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布灭翔。 她就那樣靜靜地躺著魏烫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上则奥,一...
    開(kāi)封第一講書(shū)人閱讀 52,196評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音狭园,去河邊找鬼读处。 笑死,一個(gè)胖子當(dāng)著我的面吹牛唱矛,可吹牛的內(nèi)容都是我干的罚舱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼绎谦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼管闷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起窃肠,我...
    開(kāi)封第一講書(shū)人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤包个,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后冤留,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體碧囊,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年纤怒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了糯而。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泊窘,死狀恐怖熄驼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情烘豹,我是刑警寧澤瓜贾,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站携悯,受9級(jí)特大地震影響阐虚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蚌卤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一实束、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧逊彭,春花似錦咸灿、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春审胸,著一層夾襖步出監(jiān)牢的瞬間亥宿,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工砂沛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留烫扼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓碍庵,卻偏偏與公主長(zhǎng)得像映企,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子静浴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容