我的 bean 中有一个定期执行的方法:
@Scheduled(fixedRate = xx)
public void runPeriodically() {
// do smt...
}
现在我想找出它上次执行的时间。我怎样才能做到这一点?我读到了Trigger
接口(interface),但我不清楚如何使用它来满足我的需要。
最佳答案
我可能会遗漏一些东西,但是一个简单的实例变量不能完成这项工作吗?
private Date lastRun;
@Scheduled(fixedRate = xx)
public void runPeriodically() {
// do smt...
lastRun = new Date();
}
对于Trigger
接口(interface):@Scheduled
不能与Trigger
接口(interface)结合使用。至少不是开箱即用的。如果您想使用Trigger
,则需要使用TaskScheduler
和"feed" it with Trigger
objects 。例如。
scheduler.schedule(task, new CronTrigger("0 15 9-17 * * MON-FRI"));
CronTrigger
显然实现了 Trigger
,因此您在那里拥有所有接口(interface)方法。
关于java - Spring - 查找@Scheduled的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36157854/