Quartz帶引數任務的建立與修改

2022-08-04 11:39:15 字數 1523 閱讀 5333

需求背景:建立的quartz任務需要用到三個引數,根據引數去執行並將結果入庫,並且引數可修改更新。

這裡,有三個引數需要傳入,分別是planid、target、officeid

定義job類:

public

class statisticstaskservice implements

job else

if(target.equals("2"))else

logger.info("job:"+planid+" target:"+target);

}}

定義引數類:

public

class jobparameter implements

serializable

public

void

setplanid(string planid)

public

string gettarget()

public

void

settarget(string target)

public

string getofficeid()

public

void

setofficeid(string officeid)

@override

public

string tostring()

}

建立任務建立和修改方法:

1.建立任務:

public

static

void

createschedulejobwithparams(scheduler scheduler, string jobname,

string jobgroup, string cronexpression, class

<? extends job>jobclass,

string planid,string target,string officeid)

} catch

(schedulerexception e)

}

2.修改任務:

public

static

void

updateschedulejobwithparams(scheduler scheduler, string jobname, string jobgroup, string cronexpression,

string planid,string target)

catch

(schedulerexception e)

}

編碼總結:

最開始時我將三個引數直接put進jobdetail的jobdatamap,發現任務中能夠正常讀取,但是在更新引數是發現set後值不變,不知是不是jobdatamap繼承dirtyflagmap的原因,沒有深究。

後將三個引數封裝為物件,並實現序列化,以物件形式傳入,修改就沒有問題了。

quartz任務定時任務建立

排程器 任務排程器類 author wwr public class taskscheduler 任務排程 param jobclass 任務類 param job1 任務名 param job1group 任務組別 param trigger1 觸發器名字 param triggergroup 觸...

c 建立帶引數的執行緒

1 無引數執行緒的建立 thread thread new thread new threadstart getpic thread.start private void showmessage 2 帶乙個引數的執行緒 使用parameterizedthreadstart,呼叫 system.thr...

Quartz定時任務的並行與序列

quartz定時任務的並行與序列 1.quartz定時任務的執行策略有並行和序列之分。所謂並行是指多個任務同時執行的情況,即若兩個任務的執行時間存在重疊,兩個任務同時執行的情況。序列則是指乙個任務必須等其前乙個任務執行完畢之後再執行的策略。2.spring整合quartz時,控制定時任務的並行和序列...