使用quartz時(shí),傳入?yún)?shù)到j(luò)ob中的使用記錄
在使用quartz的時(shí)候不免會(huì)遇到需要在觸發(fā)定時(shí)任務(wù)的時(shí)候需要傳入對(duì)應(yīng)參數(shù)進(jìn)去
剛好遇到這個(gè)問題,隨手記錄下:
例子
在調(diào)用的時(shí)候直接傳入map類型的參數(shù)(此處是封裝了,故可以直接調(diào)用)
@PostConstruct
public void test(){
try {
Map param = new HashMap();
param.put("token","ssssssssss");
QuartzUtil.saveJob("test",TestJob.class,10,false,param);
} catch (SchedulerException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}具體實(shí)現(xiàn)
(在獲取到j(luò)obDeatil實(shí)例后通過獲取到JobDataMap再去賦值參數(shù)即可),代碼如下
JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(jobName, JOB_GROUP_NAME).build();
//設(shè)置參數(shù)
jobDetail.getJobDataMap().put("data",param);在具體的job類里去獲取參數(shù)
例子:
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("現(xiàn)在是:"+sdf.format(new Date()));
//獲取傳入的參數(shù)數(shù)據(jù)
JobDataMap data = jobExecutionContext.getJobDetail().getJobDataMap();
System.out.println(data.get("data"));
}總結(jié)
記錄下,以免忘記。。。。
好了,以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解java封裝返回結(jié)果與RestControllerAdvice注解
這篇文章主要為大家介紹了java封裝返回結(jié)果與RestControllerAdvice注解實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
java阿拉伯?dāng)?shù)字轉(zhuǎn)中文數(shù)字
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)阿拉伯?dāng)?shù)字轉(zhuǎn)換為中文數(shù)字,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
IDEA SpringBoot 項(xiàng)目配置Swagger2的詳細(xì)教程
這篇文章主要介紹了IDEA SpringBoot 項(xiàng)目配置Swagger2的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
java 輸入一個(gè)數(shù)字組成的數(shù)組(輸出該數(shù)組的最大值和最小值)
這篇文章主要介紹了java 輸入一個(gè)數(shù)字組成的數(shù)組,輸出該數(shù)組的最大值和最小值,需要的朋友可以參考下2017-02-02
Spring?Boot超大文件上傳實(shí)現(xiàn)秒傳功能
這篇文章主要介紹了Spring?Boot超大文件上傳實(shí)現(xiàn)秒傳功能,在實(shí)現(xiàn)分片上傳的過程,需要前端和后端配合,比如前后端的上傳塊號(hào)的文件大小,前后端必須得要一致,否則上傳就會(huì)有問題,需要的朋友可以參考下2022-12-12

