Java springboot 定時任務

springboot中的定時任務比較簡單,spring

方法一:springboot

此次主要用的是    @Scheduled(cron="0 0/5 * * * ?")定義定時任務ide

在啓動類上加@EnableScheduling,程序啓動時,掃描到@Scheduled註解,則定時任務開始執行線程

以上是一個定時任務的方法,由於此方法爲單線程,因此,若是配置多個定時任務,會出現混亂。code

方法二:io

適合多個定時任務,須要配置定時任務線程池class

@Configuration
@EnableScheduling
public class ScheduleConfig implements SchedulingConfigurer {
 
    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.setScheduler(taskExecutor());
    }
 
    @Bean(destroyMethod="shutdown")
    public Executor taskExecutor() {
        return Executors.newScheduledThreadPool(10); //指定線程池大小
    }
}

這樣,定時任務直接就不會互相受到影響配置

相關文章
相關標籤/搜索