Springboot执行简单的定时方法及配置

2019-10-21 / 7 阅读 / Java

创建定时任务方法有许多,例如Quartz等,功能强大,不过使用起来配置稍复杂。且不符合有些轻量的定时需求。Springboot中已经给了一个简单的定时任务的调用方法,只需要注解即可,相当的方面。

如下:

将配置类直接拷贝进Application同目录下即可运行
@Configuration
@EnableScheduling
public class TaskConfig implements SchedulingConfigurer {

    // 可自定义cron表达式,这里30秒执行一次方法
    @Scheduled(cron = "0/30 * * * * ? ")
    public void task() {
        LogUtil.i("--------------------Task--------------------");
    }

    /**
     * Spring的 Schedule 默认是单线程执行
     * 若要多线程并行运行任务 需实现SchedulingConfigurer并重写configureTasks方法
     *
     * @param scheduledTaskRegistrar
     */
    @Override
    public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
        scheduledTaskRegistrar.setScheduler(Executors.newScheduledThreadPool(3));
    }
}
相关推荐