2013-02-14 57 views
0

我正在使用石英調度程序。在爲我的工作創建觸發器時,我正在使用trigger.setStartTime()設置開始時間。現在我的問題是在第一次火災時,它甚至會跑到最近的時間。用一個例子來解釋上述情況。我的觸發開始時間爲:Thu Feb 14 13:53:00 IST 2013。 Recurrance cron表達式是每兩分鐘一次。所以,第一次着火時間是Thu Feb 14 13:55:00 IST 2013。但它被解僱了Thu Feb 14 13:54:00 IST 2013。從那裏它每兩分鐘運行一次,即13:56:00,13:58:00等。但是我想從觸發器的開始時間開始每兩分鐘就開始一次工作。請幫我實現那一個。石英僅在偶數分鐘內運行

在此先感謝。

+0

如果您分享您的代碼的部分這將是有益的。請仔細檢查TriggerBuilder和.scheduleJob方法,以確保您設置的開始時間爲13:53:00 – wns349 2013-02-14 08:51:39

+0

顯示您的代碼如何設置startTime以觸發 – NPKR 2013-02-14 08:58:04

+0

thanku您的response.i使用quartz 1.8.my代碼如下CronTrigger觸發器=新的CronTrigger(「樣本作業名稱」,「樣本作業組」); trigger.setStartTime(finalStartingDate);這裏finalStartingDate返回用戶輸入的開始日期。 – user1670536 2013-02-15 04:42:18

回答

0

您正在使用哪個版本的Quartz,以及如何構建觸發器?如果您使用的是2.0或更高版本,則應該使用類似DSL的TriggerBuilder和SimpleTrigger/SimpleSchedule快速構建觸發器,並且不易出錯。

Quartz Tutorial Lesson 5

你觸發最終會lokking是這樣的:

trigger = newTrigger() 
    .withIdentity("my-trigger", "my-group") 
    .withSchedule(simpleSchedule() 
     .withIntervalInMinutes(2) 
     .repeatForever()) 
    .build();