问题描述
在Spring框架的Web项目中,有一个业务功能需要每天执行一次,使用了@Scheduled
注解执行定时任务,但是出现了定时任务不执行的情况
尝试的方式
类上加@EnableScheduling
注解、加实现SchedulingConfigurer
接口的配置类、修改cron表达式
都失败了
最终查到的解决方式
在Spring的配置文件中,添加配置:
- 加命名空间
xmlns
添加:
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation
添加 :
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd"
- 启动注解驱动
<task:annotation-driven scheduler="dataScheduler"/>
- 开启任务调度器,并配置线程池大小
<task:scheduler id="dataScheduler" pool-size="5"/>
- 然后就可以使用
@Scheduled
注解了
参考链接:
https://cloud.tencent.com/developer/article/1383486