ThreadPoolTaskScheduler 在 Main 函數(shù)和 Spring 環(huán)境下的使用

?Scheduler

技術(shù)分享:在Main函數(shù)中優(yōu)雅地使用 ThreadPoolTaskScheduler

大家好,我是凱哥Java齿拂,今天我們將探討如何在非Spring環(huán)境下,通過Main函數(shù)正確地使用ThreadPoolTaskScheduler蕾盯。同時材失,我也會分享在Spring環(huán)境下如何配置和使用ThreadPoolTaskScheduler。

在Java開發(fā)中邪铲,我們經(jīng)常使用Spring框架來簡化應用程序的開發(fā)芬位。Spring提供了許多便捷的工具,其中包括?ThreadPoolTaskScheduler?用于處理定時任務(wù)带到。然而昧碉,當我們希望在非Spring環(huán)境下的?main?函數(shù)中使用?ThreadPoolTaskScheduler?時,可能會遇到?java.lang.IllegalStateException: ThreadPoolTaskScheduler not initialized?錯誤揽惹。

01

在Main函數(shù)中使用ThreadPoolTaskScheduler

在非Spring環(huán)境下被饿,直接使用ThreadPoolTaskScheduler時可能會遇到j(luò)ava.lang.IllegalStateException: ThreadPoolTaskScheduler not initialized的錯誤。為了解決這個問題搪搏,我們需要在調(diào)度任務(wù)之前手動初始化ThreadPoolTaskScheduler狭握。

通過在調(diào)度任務(wù)之前調(diào)用taskScheduler.initialize(),我們可以順利地避免ThreadPoolTaskScheduler not initialized的異常慕嚷。

import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;

import org.springframework.scheduling.support.CronTrigger;

public class MainApplication {

? ?public static void main(String[] args) {

? ? ? ?// 初始化 ThreadPoolTaskScheduler

? ? ? ?ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();

? ? ? ?taskScheduler.setPoolSize(10);

? ? ? ?taskScheduler.setRemoveOnCancelPolicy(true);

? ? ? ?taskScheduler.setThreadNamePrefix("task-");

? ? ? ?// 初始化你的任務(wù)和觸發(fā)器(這里假設(shè) jobDTO 和 cronTrigger 已經(jīng)定義)

? ? ? ?Runnable jobDTO = /* Your Runnable implementation */;

? ? ? ?CronTrigger cronTrigger = /* Your CronTrigger implementation */;

? ? ? ?// 設(shè)置任務(wù)調(diào)度器

? ? ? ?taskScheduler.initialize();

? ? ? ?// 使用任務(wù)調(diào)度器調(diào)度任務(wù)

? ? ? ?taskScheduler.schedule(jobDTO, cronTrigger);

? ?}

}

02

在Spring環(huán)境下使用ThreadPoolTaskScheduler

在Spring環(huán)境下哥牍,我們可以通過配置類來輕松使用ThreadPoolTaskScheduler毕泌。以下是兩個簡單的步驟:

第一步:創(chuàng)建線程池配置

import org.springframework.context.annotation.Bean;

import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;

import org.springframework.stereotype.Component;

@Component

public class CollectTaskConfig {

? ?@Bean(name = "collectTaskPool")

? ?public ThreadPoolTaskScheduler threadPoolTaskScheduler(){

? ? ? ?ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();

? ? ? ?threadPoolTaskScheduler.setPoolSize(30);

? ? ? ?threadPoolTaskScheduler.setRemoveOnCancelPolicy(true);

? ? ? ?threadPoolTaskScheduler.setThreadNamePrefix("task-");

? ? ? ?return threadPoolTaskScheduler;

? ?}

}

第二步:在需要使用的地方注入線程池并調(diào)度任務(wù)

import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;

import org.springframework.beans.factory.annotation.Autowired;

public class YourClass {

? ?@Autowired

? ?private ThreadPoolTaskScheduler taskScheduler;

? ?public void taskDoing(){

? ? ? ?// 初始化你的任務(wù)和觸發(fā)器(這里假設(shè) jobDTO 和 cronTrigger 已經(jīng)定義)

? ? ? ?Runnable jobDTO = /* Your Runnable implementation */;

? ? ? ?CronTrigger cronTrigger = /* Your CronTrigger implementation */;


? ? ? ?// 使用任務(wù)調(diào)度器調(diào)度任務(wù)

? ? ? ?taskScheduler.schedule(jobDTO, cronTrigger);

? ?}

}

通過以上兩步喝检,我們就能夠在Spring環(huán)境下優(yōu)雅地配置和使用帶有定時任務(wù)的線程池。希望這份技術(shù)分享對大家有所幫助撼泛!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挠说,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子愿题,更是在濱河造成了極大的恐慌损俭,老刑警劉巖蛙奖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異杆兵,居然都是意外死亡雁仲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門琐脏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攒砖,“玉大人,你說我怎么就攤上這事日裙〈低В” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵昂拂,是天一觀的道長受神。 經(jīng)常有香客問我,道長格侯,這世上最難降的妖魔是什么鼻听? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮养交,結(jié)果婚禮上精算,老公的妹妹穿的比我還像新娘。我一直安慰自己碎连,他們只是感情好灰羽,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鱼辙,像睡著了一般廉嚼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上倒戏,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天怠噪,我揣著相機與錄音,去河邊找鬼杜跷。 笑死傍念,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的葛闷。 我是一名探鬼主播憋槐,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼淑趾!你這毒婦竟也來了阳仔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扣泊,失蹤者是張志新(化名)和其女友劉穎近范,沒想到半個月后嘶摊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡评矩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年叶堆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斥杜。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹂空,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出果录,到底是詐尸還是另有隱情上枕,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布弱恒,位于F島的核電站辨萍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏返弹。R本人自食惡果不足惜锈玉,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望义起。 院中可真熱鬧拉背,春花似錦、人聲如沸默终。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽齐蔽。三九已至两疚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間含滴,已是汗流浹背诱渤。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谈况,地道東北人勺美。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像碑韵,于是被迫代替她去往敵國和親赡茸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

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