springboot进行定时任务@Scheduled详解

springboot实现定时任务

springboot支持使用@Scheduled直接实现定时任务

必要在启动类或者使用定时任务的类上增加

@EnableScheduling

只需要将@Scheduled注解加载想要定时执行的方法之上

    @Scheduled(cron = "*/5 * * * * ?")
    public void test() {
        long startTime = System.currentTimeMillis();
        log.info(Thread.currentThread().getName() + ":开始");

       //定时任务

        long endTime = System.currentTimeMillis();
        log.info(Thread.currentThread().getName() + ":结束耗时:" + (endTime - startTime));
    }

Scheduled注解支持三种方式的配置

  • fixedRate = 5000(任务执行开始—任务执行开始间隔时间)
  • fixedDelay = 5000(任务执行结束—任务执行开始间隔时间)
  • cron = “*/5 * * * * ?”

cron表达式

常见用法:

  • cron = “*/5 * * * * ?”(每个5秒执行一次)
  • cron = “0 0 23 * * ?”(每天23:00执行一次)

此定时任务是单线程执行,可以使用spring线程池进行多线程定时任务的优化

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值