Задание расписания выполняется дважды в кластере - PullRequest
5 голосов
/ 10 мая 2011

Мы используем планировщик Java Cron4j для планирования заданий, которые выполняются каждую ночь.Теперь, когда это же веб-приложение (Tomcat) развернуто на кластере (2 узла) на сайте клиента, задания выполняются дважды.Есть ли способ избежать этой проблемы?

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

Я считаю, что единственный способ сделать это - использовать некоторое внешнее общее состояние, как, например, в базе данных, для обеспечения некоторой блокировки.

0 голосов
/ 10 мая 2011

Один из способов решить эту проблему - заставить ваше веб-приложение принять параметр, например runCronjobs. Вы можете поместить соответствующую запись в web.xml или в другой файл конфигурации.

Таким образом, для одного веб-приложения это значение будет равно true, а для других развертываний оно будет равно false.

...