0

我已经使用 XML 作业配置定义了我的石英作业,如示例 2 所示

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

我有其他 servlet 有一些初始化参数,我的网络应用程序也有一些上下文参数。

如何在实现 Job 类的作业中访问这些参数?

4

2 回答 2

0

我在这里看到了几个选项。

创建一个持有人对象,该对象将仅保存您要在工作中访问的信息。

public class ConfigHolder {
    static public Map importantData;
}

然后,您将使用servlet2in itsinit方法初始化数据。

像这样使用 JobDataMap 安排作业

JobDetail jd = new JobDetail("yourjob", Scheduler.DEFAULT_GROUP, JobClass.class);
jd.getJobDataMap().put("config", configObject); 
于 2015-06-03T10:57:26.450 回答
0

1)基本上可以像这样访问servlet的上下文

在 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)然后另一个servlet的参数是这样的

ServletContext.getServletRegistration("MyServlet").getInitParameter("MyInitParam");
于 2015-06-09T14:05:38.770 回答