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("订单超时任务结束...");
}
}版权声明:本文为weixin_62595121原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。