Spring boot 中 @Scheduled 不起作用的一个解决办法
在 spring boot 应用中添加定时任务,按照网上的资料却怎么都不能启动,都说是缺少了 @EnableScheduling
,我在加上了后却任然启动不了。
最后是这样解决的:主要是新增一个 org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
的 bean
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| @Slf4j @EnableScheduling @Service public class Sched {
@Autowired private StatisticProperties statisticProperties;
@Autowired private JedisCluster jedisCluster;
@Bean public TaskScheduler poolScheduler() { ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); scheduler.setThreadNamePrefix("poolScheduler"); scheduler.setPoolSize(10); return scheduler; }
@Async(value = "asyncPoolTaskExecutor") @Scheduled(cron = "*/5 * * * * ?") public void clearRealtimeCacheData() { log.info("每5秒执行一次"); } }
|