Spring boot 中 @Scheduled 不起作用的一个解决办法

Spring boot 中 @Scheduled 不起作用的一个解决办法

在 spring boot 应用中添加定时任务,按照网上的资料却怎么都不能启动,都说是缺少了 @EnableScheduling,我在加上了后却任然启动不了。

最后是这样解决的:主要是新增一个 org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler 的 bean

@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秒执行一次");
    }
}

你可能感兴趣的:(springboot)