zsmeijin
6/16/2019 - 1:43 PM

schedule定时任务配置

[Spring Scheduled Task] #Spring

启用定时任务

@SpringBootApplication
@EnableScheduling
@EnableFeignClients
public class ScheduleTaskServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ScheduleTaskServerApplication.class, args);
    }
    
    @Bean
    @LoadBalanced
    RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

配置最大可共存定时任务数

@Configuration
public class ScheduleConfig implements SchedulingConfigurer {
    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
        taskScheduler.setPoolSize(20);
        taskScheduler.initialize();
        taskRegistrar.setTaskScheduler(taskScheduler);
    }
}

配置定时任务执行周期

@Component
public class ScheduleTasks {
    @Scheduled(cron = "0 0 0 * * ?")
    public void test() throws InterruptedException {
        logger.info("scheduled test");
    }
}