以编程方式在jboss seam项目中设置quartz属性

时间:2013-12-17 15:28:31

标签: java jboss7.x quartz-scheduler

我在jboss 7中部署了一个缝网应用,它使用石英来安排作业,目前我正在使用一个名为'seam.quartz.properties'的属性文件,该文件打包在ear文件中,以提供所需的石英设置。我的目标是能够在部署时以编程方式(从xml文件或数据库)设置一些属性,并覆盖属性文件中的最新内容,或者从文件中删除属性。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,在我的项目中我有'seam.quartz.prperties'文件,其中我为我打算创建的调度程序指定了许多属性,其中一个属性是'org.quartz.scheduler.instanceName '(我将我的调度程序命名为“engineScheduler”)所以在获取我的调度程序时,我会这样做:

DirectSchedulerFactory directSchedulerFactory = DirectSchedulerFactory.getInstance();
Scheduler scd = directSchedulerFactory.getScheduler("engineScheduler");

它将为我提供具有我在文件中提供的属性的调度程序。 解决方案是使用'createScheduler'而不是'getScheduler',如下所示:

createScheduler(java.lang.String schedulerName, java.lang.String schedulerInstanceId, org.quartz.spi.ThreadPool threadPool, org.quartz.spi.JobStore jobStore)

线程计数是ThreadPool实例中的一个属性,需要首先创建,然后给予方法(createScheduler)。