0
的執行時間,我在bean,它定期執行有一個方法:春天 - 找到@Scheduled
@Scheduled(fixedRate = xx)
public void runPeriodically() {
// do smt...
}
現在我想找出其先前執行的時間。我怎樣才能做到這一點?我閱讀了關於Trigger
的界面,但我不清楚如何使用它來滿足我的需求。
的執行時間,我在bean,它定期執行有一個方法:春天 - 找到@Scheduled
@Scheduled(fixedRate = xx)
public void runPeriodically() {
// do smt...
}
現在我想找出其先前執行的時間。我怎樣才能做到這一點?我閱讀了關於Trigger
的界面,但我不清楚如何使用它來滿足我的需求。
我可能會錯過一些東西,但不會有簡單的實例變量來完成這項工作嗎?
private Date lastRun;
@Scheduled(fixedRate = xx)
public void runPeriodically() {
// do smt...
lastRun = new Date();
}
對於Trigger
接口:你不能用Trigger
接口結合使用@Scheduled
。至少不是開箱即用的。如果您想使用Trigger
,則需要使用TaskScheduler
和"feed" it with Trigger
objects。例如。
scheduler.schedule(task, new CronTrigger("0 15 9-17 * * MON-FRI"));
CronTrigger
顯然實現Trigger
,所以你把所有的接口方法那裏。
我認爲你的答案解決了這個問題,但與TriggerContext觸發接口,我將有權訪問像lastCompletionTime,lastActualExecutionTime和lastScheduledExecutionTime方法。所以如果你能給我看一個用Trigger做的例子,我會很感激。 – void
@void我更新了我的答案 – msparer