我正在寻找一种方法来安排任务一段时间后,但如果发生某些事情,我需要能够延迟任务。 例如
myMethod() {
some code...
new Timer().schedule(new TimerTask(){
@Override
public void run(){
LOGGER.info("close connexion");
}
},1000);
}
我需要在"运行"中重新安排任务。如果我再来myMethod()。 怎么办?
答案 0 :(得分:0)
解决方案#1
请参阅java {1.5}中提供的ScheduledExecutorService它提供了方法scheduleWithFixedDelay
- 因此只有在完成后才会重新安排任务。在方法结束时重新安排任务(使用schedule
方法)的另一种方法
解决方案#2 - Spring TaskScheduler中存在相同的方法签名,但您可以借助带注释的服务方法来实现。