0

Я определил свою кварцевой работу с конфигурацией рабочих мест XML, как в здесь примере 2Как подключить другие параметры сервлетов или контекстные параметры контекста внутри заданий кварца?

http://www.mkyong.com/java/example-to-run-multiple-jobs-in-quartz/

У меня есть другие сервлеты Wich есть некоторые INIT-PARAMS и мой веб-приложение также имеет некоторые контекстно-Params.

Как получить доступ к этим параметрам в моей работе, которая реализует класс Job?

ответ

0

1) можно в принципе получить доступ к контексту сервлета как этот

в web.xml

<context-param> 
    <param-name>quartz:scheduler-context-servlet-context-key</param-name> 
    <param-value>ServletContext</param-value> 
</context-param> 

в коде

ServletContext MyServletContext = null; 
    MyServletContext = (ServletContext) context.getScheduler().getContext().get("ServletContext"); 

2) И затем параметры другого сервлета, подобные этому

ServletContext.getServletRegistration("MyServlet").getInitParameter("MyInitParam"); 
0

Я вижу несколько вариантов здесь.

Создайте объект-держатель, который просто сохранит информацию, которую вы хотите получить в своей работе.

public class ConfigHolder { 
    static public Map importantData; 
} 

вы затем инициализировать данные, используя servlet2 в методе init.

Расписание работа с JobDataMap как этот

JobDetail jd = new JobDetail("yourjob", Scheduler.DEFAULT_GROUP, JobClass.class); 
jd.getJobDataMap().put("config", configObject);