Кварцевые работы не выполняются - PullRequest
2 голосов
/ 02 сентября 2010

Работая с Java Quartz, я смог запланировать одну работу. Затем я попробовал что-то вроде следующего кода, чтобы иметь возможность добавить другую работу. Теперь ни один из них не запускается в определенное время. Что я делаю не так?

Я хочу использовать следующий подход, а не конфигурацию XML.

   scheduler = StdSchedulerFactory.getDefaultScheduler();


   JobDetail jobFull = new JobDetail("job1", "group1", IntegrationJobFull.class);
   JobDetail jobPartial = new JobDetail("job2", "group1", IntegrationJobPartial.class);

   CronTrigger triggerFull = new CronTrigger("trigger1", "group1", "job1", "group1", "0 15 3 * * ?");
   CronTrigger triggerPartial = new CronTrigger("trigger2", "group1", "job2", "group1", "* 0,30 * * * ?");

   scheduler.addJob(jobFull, false);
   scheduler.addJob(jobPartial, false);

   scheduler.scheduleJob(triggerFull);
   scheduler.scheduleJob(triggerPartial);

   scheduler.start();

1 Ответ

2 голосов
/ 30 января 2012

Созданные выше JobDetail недолговечны, это означает, что метод addJob завершится ошибкой.Используйте перегруженный метод scheduleJob, чтобы связать задание и триггер.

Удалите вызовы addJob и scheduleJob и замените на:

scheduler.scheduleJob(jobFull, triggerFull);
scheduler.scheduleJob(jobPartial, triggerPartial);

Также * былуказано поле секунд для триггера2.Это будет означать, что задание будет запускаться каждую секунду в течение указанных минут.Я не уверен, было ли это намерением.

Желаемое выражение cron может быть:

"0 0,30 * * * ?"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...