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