2009-08-18 32 views
1

我在想如何使用CronTrigger並添加額外的一次性觸發器,以便我可以使用getFileTimeAfter(Date)方法遍歷觸發時間向Quartz CronTrigger添加一次性額外觸發器

說如果我有一個CronTrigger表達爲:「0 0 12 * *?」

我該如何添加一個額外的射擊,如同SimpleTrigger所表達的那樣,不需要重複?

回答

1

這不可能與CronTrigger本身。但是,只要您願意,您可以將許多不同的觸發器與給定的JobDetail關聯起來。

你可以通過註冊你的CronTrigger加上SimpleTrigger,在每個觸發器上調用getFireTimeAfter來模擬你試圖實現的目標,並取得較早的值。

令人煩惱的是,getFireTimeAfter存在於CronTriggerSimpleTrigger,但不在Trigger接口。這是Quartz的API罪惡中最小的,介意你。

+0

感謝您的回答......只是覺得我可能會錯過顯而易見的東西。 石英newb在這裏,你能指點我的任何批評的方向嗎? – Brabster 2009-08-18 20:50:08

+0

不是真的,因爲它是城裏唯一的遊戲。我們只需要笑笑並承擔責任。 – skaffman 2009-08-18 21:01:09

+1

實際上,getFireTimeAfter(Date)在Trigger接口中,至少從1.6.x開始。也可以使用,我使用過它。 http://www.opensymphony.com/quartz/api/org/quartz/Trigger.html#getFireTimeAfter(java.util.Date) – Brabster 2009-09-07 20:54:56