2013-05-07 109 views
0

請考慮以下事件序列。使用石英1.8.0管理石英作業,刪除

<dependency> 
     <groupId>org.quartz-scheduler</groupId> 
     <artifactId>quartz</artifactId> 
     <version>1.8.0</version> 
    </dependency> 

我安排一個工作,在未來

預期
 job.setGroup(MY_GROUP); 
    Date date = scheduler.scheduleJob(job, trigger); // Valid date received 

工作執行中執行。

我再嘗試運行

 boolean unscheduled = scheduler.deleteJob(event.getName(), MY_GROUP); // Always false 

試圖刪除工作總是導致**false**

,如果我讓應用程序過去,原定執行時間運行刪除的作業,在刪除失敗後,它不運行(好像它被成功刪除)

什麼能解釋這樣的行爲?我怎麼能知道什麼是石英作爲組的一部分?

編輯:

觸發設置爲:

 SimpleTrigger trigger = new SimpleTrigger(); 
     trigger.setStartTime(new Date(event.getStartTime().inMillis())); 
     trigger.setName("trigger" + event.getTriggerName()); 
     trigger.setRepeatInterval(event.getFrequency()); 
     trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY); 

回答

0

什麼觸發你用?如果您尚未指定觸發器應該多次觸發在一個重複的時間間隔內,它只會觸發一次,然後被丟棄;如果您的工作細節不夠耐久,那麼調度程序會在沒有更多觸發器指向它時自動刪除它。

+0

嗯......有趣..請看更新的問題 – JAM 2013-05-07 17:29:54