Предотвращение одновременного выполнения экземпляров, запущенных определенным триггером - PullRequest
1 голос
/ 27 октября 2011

Аннотация @DisallowConcurrentExecution предотвращает параллельное выполнение экземпляров заданий определенного задания, но возможно ли предотвратить одновременное выполнение заданий, запущенных с определенным триггером?

Ответы [ 2 ]

1 голос
/ 27 октября 2011

Возможно, вы могли бы реализовать такое ограничение с помощью пользовательского TriggerListener, который запрещает выполнение задания и переназначает триггер на более позднюю дату, или что-то подобное.

В противном случае вы можете просто сделать копию задания, которое будет запущено вашим конкретным триггером.

0 голосов
/ 27 октября 2011

Согласно Javadoc of Quartz Scheduler, аннотация @DisallowConcurrentExecution предотвращает одновременное выполнение экземпляров заданий на основе уникального JobKey.

. В Javadoc нет других аннотаций, имеющих аналогичную функцию дляTriggers.

Тогда единственной другой возможностью будет определение пользовательского JobKey - однако класс равен final.

TLDR;Нет, вы не можете сделать это без использования собственной синхронизации.

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