问题描述

在用@Scheduled做定时任务的注解时,发现@Scheduled注解不生效。

原因分析

用能要交给spring容器的注解

比如@Component注解。

使用@EnableScheduling

启动类里面/使用定时任务所在的类中使用@EnableScheduling 注解开启功能,自动扫描

cron表达式写法不对

正常写法:@Scheduled(cron="*/10 * * * * ?")

代表10s执行一次,每个对应的是秒 分 时 天

如果是想每天0:30执行一次,那就是:

正常写法:@Scheduled(cron=“0 30 0 * * ?”)

使用apollo添加配置后,apollo修改配置后不生效

在使用@Scheduled时,项目启动时已将时间注入Spring容器中。

相当于就算是apollo改了内容有热加载机制,值也不会生效。

如果想生效,需要重启服务。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐