设置Quartz设置的'clustered'属性是否会导致单个机器出现问题?

时间:2012-02-01 09:46:35

标签: java quartz-scheduler cluster-computing

我们有一堆石英作业配置为在集群环境中运行,一切似乎在真正的集群(两台WAS机器)上运行良好。

在DEV环境中,我们仍然使用

org.quartz.jobStore.isClustered = true

虽然我们只使用一台机器。但我们经常得到但并不总是以下例外:

org.quartz.JobPersistenceException: 
    Couldn't store trigger 'DEFAULT.MT_6uclr3emepk6p' for '<group>.<name>' 
    job:The job (<group>.<name>) referenced by the trigger does not exist.

我们将DEV环境的设置更改为

org.quartz.jobStore.isClustered = false

这似乎使问题消失了。

所以问题是:

  • 当您实际不使用群集时设置org.quartz.jobStore.isClustered = true是否有问题
  • 如果是这样的话?
  • 如果不是原因可能是什么原因?

更新:澄清错误发生的时间:

这是设置工作的片段。

JobKey JOBKEY = new JobKey("Name", "group");
newTrigger().withIdentity("TriggerName", "group").forJob(
                JOBKEY).build();
JobDetail job = newJob(NameJob.class).withIdentity(
                JOBKEY)
                .storeDurably().build();
scheduler.addJob(job, false);

此代码段应该触发作业执行

scheduler.triggerJob(JOBKEY);

1 个答案:

答案 0 :(得分:1)

那是一只红鲱鱼。 isClustered = true,一个节点就好了(虽然不必要)。

我敢打赌,你遇到的问题是由多个开发人员使用同一个数据库引起的,同时进行他们的测试/构建。