2009-08-18 3 views
1

Мне было интересно, как я могу взять CronTrigger и добавить дополнительный одноразовый обжиг, чтобы я мог перебирать время стрельбы, как я мог бы с помощью метода getFileTimeAfter (Date)Добавление одноразовых дополнительных стрельб в кварц CronTrigger

Скажите, был ли у меня CronTrigger, выраженный: «0 0 12 * *?»

Как я могу добавить один дополнительный обстрел, который может быть выражен SimpleTrigger без повтора?

ответ

1

Это невозможно с CronTrigger. Тем не менее, вы можете связать столько разных триггеров с заданным JobDetail, сколько захотите.

Вы можете имитировать то, что вы пытаетесь достичь, зарегистрировав CronTrigger плюс SimpleTrigger, позвоните по номеру getFireTimeAfter на каждый триггер и возьмите более раннее значение.

Досадно, getFireTimeAfter присутствует на обоих CronTrigger и SimpleTrigger, но не в интерфейсе Trigger. Имейте в виду, что это наименьшая из греховности Кварца.

+0

Спасибо за ответ ... просто подумал, что я могу пропустить что-то очевидное. Кварц newb здесь, можете ли вы указать мне в сторону каких-либо критических замечаний? – Brabster

+0

Не совсем, потому что это единственная игра в городе. Мы просто должны усмехнуться и нести это. – skaffman

+1

Фактически, getFireTimeAfter (Date) находится в интерфейсе Trigger, по крайней мере, от 1.6.x. Я тоже это использовал. http://www.opensymphony.com/quartz/api/org/quartz/Trigger.html#getFireTimeAfter(java.util.Date) – Brabster

Смежные вопросы