程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-quartz2裡面Scheduler的triggerJob方法如何使用

java-quartz2裡面Scheduler的triggerJob方法如何使用

編輯:編程綜合問答
quartz2裡面Scheduler的triggerJob方法如何使用

triggerJob主要是用於執行一次任務的場景,傳入jobKey即可啟動該任務,在scheduler的api中有兩個重載的方法,第一個參數為JobKey的方法,測試過,沒有什麼大問題,問題在於第二個方法,多了一個JobDataMap的參數,請問這個參數在Job實現類裡面如何獲取,我試過用context去取,結果發現context為null,還請高手賜教。

 //調用類
    Trigger trigger = scheduler.getTrigger(TriggerKey.triggerKey("some-trigger", "group"));
            //這裡,trigger和job都具有jobDataMap,均嘗試過,仍然無法在job實現類中獲取參數
            JobDataMap jobDataMap = trigger.getJobDataMap();
            jobDataMap.put("param1",some-value1);
            jobDataMap.put("param2",some-value2);
            scheduler.triggerJob(JobKey.jobKey("some-job", "group"), jobDataMap);

//job實現類
public void execute(JobExecutionContext jobExecutionContext)
            throws JobExecutionException {
        this.context = jobExecutionContext;
        // 使用triggerJob啟動任務的時候,我發現context==null
        // 和一般情況使用scheduleJob傳入JobDataMap的情況不一樣
    }

下面是API

 void    triggerJob(JobKey jobKey) 
          Trigger the identified JobDetail (execute it now).
 void   triggerJob(JobKey jobKey, JobDataMap data) 
          Trigger the identified JobDetail (execute it now).

最佳回答:


居然沒有刪除功能,結貼吧。。。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved