2015-11-02 3 views
2

Я пытаюсь передать параметры с помощью кварца (1.6) API в ServletAПередача параметров не работает в кварце 1.6

 JobDataMap map = new JobDataMap(); 
     map.put("date", "20151101"); 
     scheduler = new StdSchedulerFactory().getScheduler(); 
     scheduler.triggerJob(jobName, groupName, map); 

Когда я вызвать Joba, это работает. Но я не могу получить параметр в JobA из следующего кода. карта - null.

JobDataMap map = jobExecutionContext.getJobDetail().getJobDataMap(); 
    String date = (String) map.get("date"); 

Пропустить что-то важное ?? Спасибо за помощь.

ответ

1

Карты параметров могут передаваться при выполнении задания или/и триггера. В вашем решении вы явно пытаетесь получить задание datamap (в ctx.getJobDetail().getJobDataMap()), которое равно null, потому что вы задаете свои параметры с помощью триггера.

Вы можете использовать getMergedJobDataMap из JobExecutionContext получить карту параметров слиты с обоих:

JobDataMap map = jobExecutionContext.getMergedJobDataMap(); 
String date = (String) map.get("date"); 
+0

Это именно то, что мне нужно. Большое вам спасибо ~~~ – Louis

Смежные вопросы