Как создать собственный кварцевый триггер? - PullRequest
0 голосов
/ 16 февраля 2011

Я искал в Google, но не смог найти статьи / руководства о том, как создать пользовательский триггер. Любые указатели / предложения полезны. Пользовательский триггер должен подождать, пока не будут выполнены два указанных ниже условия, а затем запустить задание

  1. Время прошло 5 вечера
  2. В данную таблицу поступила запись с определенным значением (скажем, значение столбца для идентификатора строки 10 на «START»)

Ответы [ 2 ]

3 голосов
/ 16 февраля 2011

Я согласен с sjr . Я просто создал бы CronTrigger с помощью cronExpression 0 0/5 17-23 * * ? (чтобы он срабатывал каждые 5 минут, начиная с 17:00 - настраивал частоту в зависимости от ваших точных требований), а затем проверял условия базы данных при выполнении задания.

0 голосов
/ 16 февраля 2011

Отказ от ответственности: я раньше не использовал Quartz, но смотреть на javadoc Trigger выглядит достаточно сложно для реализации. Разве вы не можете просто запускать свою работу каждую минуту, час или что-то в этом роде и ставить что-то вроде следующего:

if (!new org.joda.time.DateTime().getHourOfDay() >= 17 || !databaseRowIsInPlace()) {
    return;
}

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