Spring Boot笔记-线程池调度计划仅运行一次

这里是有这样的一个需求,启动spring boot后用一个新线程,跑一次就可以了,首先是线程池申请和配置:

@Configuration
@EnableAsync
public class AsyncConfiguration {

    @Bean("TaskExecutor")
    public Executor asyncExecutor(){

        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(5);
        executor.setMaxPoolSize(10);
        executor.setQueueCapacity(500);
        executor.setKeepAliveSeconds(60);
        executor.setThreadNamePrefix("TaskExecutor Async");
        executor.initialize();
        return executor;
    }
}

然后配置调度:

@Configuration
@EnableScheduling
public class UpdateScheduleTask {

    @Autowired
    XXXXXXX xxxxxxx;

    @Scheduled(initialDelay = 1000, fixedRate = Long.MAX_VALUE)
    private void updateCache() throws InterruptedException {
	//To do something...

}

这里要主要的@Scheduled()中需要填写initialDelay = 1000,而fixedRate为Long.MAX_VALUE。

©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值