spring-schedule框架实现定时任务

sprig-schedule:一句话——做业调度spring

spring-schedule Cron表达式:spa

Cron 表达式的格式:秒(seconds)  分(minutes)  时(hours)  日(day-of-month)  月(month)  周(day-of-week)  年(year非必须)3d

各个格式容许的值和容许的特殊字符blog

字段名 容许的值 容许的特殊字符
0-59 ,     -      *     /
0-59 ,     -      *     /
小时 0-23 ,     -      *     /
月内日期 1-31 ,     -      *     ?  /  L   W   C
1-12 或  JAN-DEC ,     -      *     /
周内日期 1-7   或  SUN-SAT ,     -      *     ?  /  L   C   #
年(非必须) 留空  或   1970-2099 ,     -      *     /

 

特殊字符的含义ci

经常使用表达式:get

0  0  0  *  *  ?          天天0点一次io

0  0  23  *  *  ?        天天23点一次table

0  */1  *  *  *  ?        每1分钟(每一个1分钟的整数倍)class

0  0  */6  *  *  ?        每6个小时(每一个6小时的整数倍)import

0  0  */1  *  *  ?        每1个小时(每一个1小时的整数倍)

Cron表达式生成地址:http://cron.qqe2.com/

 

下面正式在项目中使用spring-schedule

一   spring-schedule配置

在spring配置文件加入如下标签:

<task:annotation-driven />

二   建立一个用于Task定时任务的类

package com.mmall.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * @author Luyue
 * @date 2018/8/19 20:31
 **/
@Component
@Slf4j
public class TestTask {

    /**
     * 注解中填入cron表达式
     * 下述是每一分钟执行
     */
    @Scheduled(cron = "0 0/1 * * * ? ")
    public void closeOrderTaskV1() {
        log.info("定时关单开始.........");
        /*
        执行所要完成的业务
         */
        log.info("定时关单关闭.........");
    }
}

三 查看效果