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); //指定线程池大小
    }
}

这样,定时任务直接就不会互相受到影响配置

相关文章
相关标签/搜索