Spring`@ Scheduled`直到第一个HTTP命中才开始?

时间:2019-06-14 05:47:58

标签: spring-boot spring-mvc spring-scheduled

我用两种方法定义了控制器:

nonEmptyDirs

我的配置如下:

@Scheduled(cron = "* * * * * *")
private void heartBeat() {
    logger.info("here");
}

@RequestMapping(value = "/now", method = RequestMethod.GET)
@ResponseBody
public String getDate() {
    return Instant.now().toString();
}

当我第一次启动应用程序时,什么也没发生。

然后,一旦我按下@Configuration @EnableScheduling @PropertySource("classpath:/application.properties") @EnableAutoConfiguration public class Config extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Config.class); } curl http://localhost/now方法就会开始定期执行。

为什么不立即开始?

2 个答案:

答案 0 :(得分:-1)

好像我只是想念一个@ComponentScan

答案 1 :(得分:-1)

@Scheduled(cron = "* * * * * *")更改为 @Scheduled(fixedRate = "* * * * * *")。 一旦应用程序启动,这将触发计划的方法。