Как получить выражение cron по заданному имени и названию группы? - PullRequest
5 голосов
/ 04 сентября 2010

Я использую Quartz Scheduler v.1.8.0.

Как получить выражение cron, которое было назначено / прикреплено к заданию и запланировано с использованием CronTrigger ? У меня есть имя работы и название группы в этом случае. Хотя многие триггеры могут указывать на одну и ту же работу, в моем случае это только одна.

В классе планировщика доступен метод, Scheduler.getTriggersOfJob (jobName, groupName) , но он возвращает только Триггер массив.

Пример экспрессии кроны: 0 /5 10-20 * * ?

ПРИМЕЧАНИЕ: Класс CronTrigger расширяет Триггер

1 Ответ

16 голосов
/ 04 сентября 2010

Вы можете использовать Scheduler.getTriggerOfJob.Этот класс возвращает все триггеры для заданных jobName и groupName в Trigger [].

Затем проанализируйте содержимое этого массива, проверьте, является ли Trigger CronTrigger, и приведите его к экземпляру CronTrigger.Затем метод getCronExpression () должен вернуть то, что вы ищете.

Вот пример кода:

Trigger[] triggers = // ... (getTriggersOfJob)
for (Trigger trigger : triggers) {
    if (trigger instanceof CronTrigger) {
        CronTrigger cronTrigger = (CronTrigger) trigger;
        String cronExpr = cronTrigger.getCronExpression();
    }
}
...