使用quartz時,傳入?yún)?shù)到job中的使用記錄
更新時間:2023年12月14日 09:50:18 作者:不喜歡吃貓的魚
這篇文章主要介紹了使用quartz時,傳入?yún)?shù)到job中的使用記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
在使用quartz的時候不免會遇到需要在觸發(fā)定時任務的時候需要傳入對應參數(shù)進去
剛好遇到這個問題,隨手記錄下:
例子
在調(diào)用的時候直接傳入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(); } }
具體實現(xiàn)
(在獲取到jobDeatil實例后通過獲取到JobDataMap再去賦值參數(shù)即可),代碼如下
JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(jobName, JOB_GROUP_NAME).build(); //設置參數(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")); }
總結
記錄下,以免忘記。。。。
好了,以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring boot如何配置請求的入?yún)⒑统鰠son數(shù)據(jù)格式
這篇文章主要介紹了spring boot如何配置請求的入?yún)⒑统鰠son數(shù)據(jù)格式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11Springboot使用@Valid 和AOP做參數(shù)校驗及日志輸出問題
這篇文章主要介紹的Springboot使用@Valid 和AOP做參數(shù)校驗及日志輸出問題,本文通過代碼講解的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11SpringBoot Shiro 權限注解不起作用的解決方法
本文主要介紹了SpringBoot Shiro 權限注解不起作用的解決方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07