要获取 TriggerTask 的 nextExecutionTime,可以使用 Trigger 的 getNextExecutionTime 方法,该方法需要传入 TriggerContext 对象。

具体实现步骤如下:

  1. 在 TriggerTask 中定义 TriggerContext 类型的属性,并在构造方法中初始化:
private TriggerContext triggerContext;

public TriggerTask(Trigger trigger) {
    this.triggerContext = new SimpleTriggerContext();
}
  1. 在 run 方法中获取 nextExecutionTime,然后更新 TriggerContext 中的 lastScheduledExecutionTime 和 lastActualExecutionTime:
@Override
public void run() {
    Date nextExecutionTime = trigger.nextExecutionTime(triggerContext);
    triggerContext.update(null, nextExecutionTime, null);
    // do something
}
如何获取 TriggerTask 的 nextExecutionTime

原文地址: https://www.cveoy.top/t/topic/mQhj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录