a java自带的API java.util.Timer类 java.util.TimerTask类

b Quartz框架 开源 功能强大 使用起来稍显复杂

c Spring 3.0以后自带了task 调度工具,比Quartz更加的简单方便

SpringTask是什么

SpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖配置即可使用

Cron表达式

Cron表达式是一个字符串,包括6~7个时间元素,在SpringTask中可以用于指定任务的执行时间

语法格式

秒                分          时         当月哪天      月         周

Seconds Minutes Hours DayofMonth Month DayofWeek

 

1 不需要额外引入依赖

2 定义配置类加上

@Configuration
@EnableScheduling

或者在springboot加上注解

@EnableScheduling // task调度

3 定时任务实现类

@Component
@Slf4j
public class OrderTask {
    @Resource
    private OrderMapper orderMapper;
                   //秒 分 时 当月哪天 月 周
    @Scheduled(cron = "5/5 * * ? * ?")
    public void handleOrderTimeout(){
      log.debug("订单超时任务启动...");
      // 业务逻辑  更新订单下单时间大于30分钟的未付款数据状态为 已取消
        orderMapper.updateTimeoutOrder();
        // todo: 释放库存
      //log.debug("订单超时任务结束...");
    }

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐