你好:
一个后台程序,用下面定时启动隔5分钟启动一次,偶尔暴露一个问题
Tasks.scheduleAtFixedRate((Runnable) ioc.get(clz), statTime, times,
frequency);
开始时间我标准化了整5分钟的时间格式,比如上次启动时间为2017-09-07 00:05:00,而下次启动时间为2017-09-07 00:09:59就启动了,
程序重启后就正常了。这用了nutz这么久暴露了两次,不知道什么原因。
1 回复
最终调用的是这个, 看上去没啥问题
public static void scheduleAtFixedRate(final Runnable task, Date startTime, final long period, final TimeUnit unit) {
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
taskScheduler.scheduleAtFixedRate(task, 0, period, unit);
timer.cancel();
timerList.remove(timer);
}
}, startTime);
timerList.add(timer);
}
添加回复
请先登陆