springcloud实现定时任务功能(详情)
a java自带的API java.util.Timer类 java.util.TimerTask类b Quartz框架 开源 功能强大 使用起来稍显复杂c Spring 3.0以后自带了task 调度工具,比Quartz更加的简单方便SpringTask是什么SpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖配置即可使用Cron表
·
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("订单超时任务结束..."); } }
更多推荐
已为社区贡献2条内容
所有评论(0)