quartz 動態JOB時參數的傳遞(特別是在多租戶情況下很重要)


首先在運行前傳入參數

在定義jobDetail時傳入用戶參數,當然如果jobDetail是通過spring 注入的,也可以通過

JobDetail類的getJobDataMap()方法,返回值JobDataMap,可以在此基礎上進行Map操作。

例如:

job.getJobDataMap().put("love", "I love you very much!");

 

 

其次在job中獲得參數

在execute方法中,傳入上下文context,如下所示:

public void execute(JobExecutionContext context)

再獲得JobDataMap,從Map中獲得所需數據,示例代碼如下:

String jobName = context.getJobDetail().getName();

JobDataMap dataMap = context.getJobDetail().getJobDataMap();

String strData = dataMap.getString("love");


在多租戶情況下十分重要,要通過此方法來判斷是那個用戶定義的任務,然后任務才能針對具體的用戶進行任務調度。



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com