Может ли настройка свойства «кластеризовано» установки Quartz вызвать проблемы на одном компьютере? - PullRequest
2 голосов
/ 01 февраля 2012

У нас есть куча кварцевых заданий, настроенных для работы в кластерной среде, и, похоже, все отлично работает на реальном кластере (две машины 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 Ответ

1 голос
/ 01 февраля 2012

Это красная сельдь. isClustered = true с одним узлом - это нормально (хотя и не обязательно).

Готов поспорить, что вы столкнулись с проблемами, вызванными тем, что несколько разработчиков использовали одну и ту же базу данных, одновременно выполняя свои тесты / сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...