TriggerTask triggerContext如何获取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/bnFr 著作权归作者所有。请勿转载和采集!