Spring定时任务

Spring定时任务

一、基于xml方式配置

添加定时任务命名空间的注解

xmlns:task=http://www.springframework.org/schema/task
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd

配置定时任务驱动

<task:annotation-driven />
//直接在xml中配置,不采用注解的方式
<task:scheduled-tasks>
    <task:scheduled ref="taskSchedule1" method="job1" cron="0/3 * * * * ?"/>
    <task:scheduled ref="taskSchedule" method="job1" cron="0 21 8 * ? *"/>
task:scheduled-tasks>

定时任务代码注解 @schedule

public class TaskSchedule {
    @Scheduled(cron="0/2 * * * * ?")
    public void job1(){
        System.out.println("任务 1:"+new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new
        Date()));
    }
}

二、Cron表达时

可用值详细分析如下:
星号——字符可以用于所有字段,在“分”字段中设为"“表示"每一分钟 “的含义。
“?”——字符可以用在“日”和“周几”字段.它用来指定’不明确的值’. 这在你需要指定这两个字段中的某一个值而不是另外
一个的时候会被用到。在后 面的例子中可以看到其含义。
“-”——字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"10 点到 12 点”。
“,”——字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表 示"the days Monday, Wednesday, and
Friday”。
“/”——字符用来指定一个值的的增加幅度.比如在“秒”字段中设置为 “0/15"表示"第 0, 15, 30,和 45 秒”。而"5/15"则表
示"第 5, 20, 35,和 50".在 '/'前加"
“字符相当于指定从 0 秒开始.每个字段都有一系列可以开始或结束的数值。对
于“秒”和“分”字段来说,其数值范围为 0 到 59,对于“小时”字 段来说其为 0 到 23,对于“日”字段来说为 0 到 31,而对
于“月”字段来说为 1 到 12。”/"字段仅仅只是帮助你在允许的数值范围内从开始"第 n"的值。

你可能感兴趣的:(Spring定时任务)