美文网首页
SpringBoot定时任务

SpringBoot定时任务

作者: haha_writing | 来源:发表于2020-08-27 13:11 被阅读0次

    配置步骤:

    1、Application启动类上添加@EnableScheduling注解启动定时。

    2、使用@Component和@Scheduled启动定时任务

    需要注意的是,Springboot默认的定时任务是单线程执行的,会导致定时任务互相影响。假设其中一个任务执行时间过长,会阻塞其他任务的执行,这个时候,可以选择配置多线程执行。

    @Configuration

    public class ScheduledConfig implements SchedulingConfigurer{

        @Override

        public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {

            taskRegistrar.setScheduler(Executors.newScheduledThreadPool(3));

        }

    }

    定时配置

    固定时间间隔:@Scheduled(initialDelay = 2000, fixedRate = 1000)

    固定时间延迟:@Scheduled(initialDelay = 2000, fixedDelay = 1000)

    cron表达式:@Scheduled(cron = "0 0 * * * ?")

    Cron表达式说明

    Cron表达式格式,从左到右,空格分开,: 秒 分 小时 天 月 星期 年(可选)

    秒的取值:0——59的整数

    分的取值:0——59的整数

    小时取值:0——23的整数

    日期取值:1——31的整数

    月份取值:1——12的整数

    星期取值:1——7的整数

    每个域除了上述的值,还可以包含下列特殊字符:

    *  :表示匹配该域的任意值,假设在Minutes使用*,表示每分钟触发。

    :表示列出枚举值,例如,在Minutes中使用10,20,30,表示在10、20、30分的时候触发。

    相关文章

      网友评论

          本文标题:SpringBoot定时任务

          本文链接:https://www.haomeiwen.com/subject/etxcsktx.html