如何获取 TriggerTask 的 nextExecutionTime
要获取 TriggerTask 的 nextExecutionTime,可以使用 Trigger 的 getNextExecutionTime 方法,该方法需要传入 TriggerContext 对象。
具体实现步骤如下:
- 在 TriggerTask 中定义 TriggerContext 类型的属性,并在构造方法中初始化:
private TriggerContext triggerContext;
public TriggerTask(Trigger trigger) {
this.triggerContext = new SimpleTriggerContext();
}
- 在 run 方法中获取 nextExecutionTime,然后更新 TriggerContext 中的 lastScheduledExecutionTime 和 lastActualExecutionTime:
@Override
public void run() {
Date nextExecutionTime = trigger.nextExecutionTime(triggerContext);
triggerContext.update(null, nextExecutionTime, null);
// do something
}
原文地址: https://www.cveoy.top/t/topic/mQhj 著作权归作者所有。请勿转载和采集!