我创建了一个每小时运行一次的作业,如下所示
public class BackgroundJobManager implements ServletContextListener {
private ScheduledExecutorService scheduler;
public void contextInitialized(ServletContextEvent sce) {
.
.
scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new HourlyJob(), 0, 1, TimeUnit.HOURS);
.
.
}
}
但是HourlyJob()
每10分钟执行一次,而不是每小时执行一次。不知道我在这里做什么错。
有人知道为什么不认为TimeUnit.HOURS
符合预期吗?
答案 0 :(得分:0)
它可能是计划任务方法 @Schedule
的注释@Schedule(hour = "*")
public void doHourlyJob() {
....
}