#spring #quartz-scheduler
#весна #quartz-планировщик
Вопрос:
Мне нужна помощь с quartz jdbc Jobstore. Ситуация выглядит так:
У меня есть приложение spring, и в этом приложении есть планировщик quartz, он использует постоянное хранилище заданий (JobStoreCMT с базой данных oracle). Когда мне нужно выполнить какое-то запланированное задание, в основном я создаю класс со своей аннотацией, где я пишу для примера выражение cron. При запуске приложения для всех классов, аннотированных подобным образом, создаются задания и планирование с помощью quartz.
Когда мне не нужна какая-то работа, я удаляю его класс, и он не загружается при запуске. Но что делать с уже запланированным заданием. Когда я запускаю свое приложение без этого класса заданий, quartz хочет восстановить это задание из хранилища заданий базы данных, но этот класс не существует, поэтому я получаю исключение.
Есть ли какой-нибудь способ «сообщить» quartz, что если класс задания не существует, quartz должен удалить его из планировщика?
Ответ №1:
deleteJob()
В классе планировщика существует метод для удаления заданий. Посмотреть http://quartz-scheduler.org/api/1.8.5 /
Вы также можете getJobNames()
узнать, отсутствует ли одно из ваших заданий.