Spring Quartz JobStoreCMT

#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() узнать, отсутствует ли одно из ваших заданий.