码迷,mamicode.com
首页 > 编程语言 > 详细

spring 定时任务标注

时间:2016-08-18 14:14:34      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

使用spring框架,需要定时任务只需要在方法上加@Component 就可以了

package hello;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledTasks {

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        System.out.println("The time is now " + dateFormat.format(new Date()));
    }
}

@Component 如果规则比较使用fixedDelay和initialDelay就行了

fixedDelay是每隔多少执行一次。initialDelay是启动后多久第一次执行。单位都是毫秒。前面的例子是5秒钟一次

如果需要的规则比较复杂,就需要用cron表达式了。

 

@Scheduled(cron="*/5 * * * * MON-FRI")
public void doSomething() {
    // something that should execute on weekdays only
}

这个表达式包含6个顺序独立的字段: 分别表示 秒, 分钟, 小时, 日(几号), 月, 星期几. 月和星期几可以用英文名的前三个字母表示。

上面的例子是工作日每5秒执行一次

再给几个例子

"0 0 * * * *" = 每天每个小时开始.
"*/10 * * * * *" = 每隔10分钟.
"0 0 8-10 * * *" = 每天的8, 9和10点.
"0 0/30 8-10 * * *" = 每天8:00, 8:30, 9:00, 9:30 和 10:00
"0 0 9-17 * * MON-FRI" = 工作日的朝九晚五
"0 0 0 25 12 ?" = 每年圣诞节晚上

 

spring 定时任务标注

标签:

原文地址:http://www.cnblogs.com/easyroom/p/5783512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!