Как избежать блокировки БД при удалении задания кварцаJAVA

Программисты JAVA общаются здесь
Anonymous
Как избежать блокировки БД при удалении задания кварца

Сообщение Anonymous »

Мы используем кварц (2.3.2) в Java-приложении с хранилищем заданий Postgres JDBC.
Когда задание удаляется путем вызова org.quartz.core.QuartzScheduler#deleteJob, он удалит свои триггеры, вызвав resources.getJobStore().removeTrigger(triggerKey). Это, в свою очередь, сначала попытается получить блокировку с именем TRIGGER_ACCESS, прежде чем продолжить. См. реализацию здесь.
Я хочу избежать этого, поскольку у меня высокая конкуренция при добавлении и удалении заданий.
Я понимаю, что перед этим необходимо заблокировать выполнение работы. Однако я не понимаю необходимости получения блокировки для удаления задания.
Примечание: я уже устраняю необходимость получения блокировки во время вставки, настроив кварц со следующим свойством:
org.quartz.jobStore.lockOnInsert=false


Подробнее здесь: https://stackoverflow.com/questions/787 ... quartz-job

Вернуться в «JAVA»