首页 > 其他 > 详细

有关Cron表达式的理解误区

时间:2015-10-13 17:23:32      阅读:450      评论:0      收藏:0      [点我收藏+]

当阅读到自己之前写的代码,发现自己之前一直对Cron表达式的理解有误,很是震惊。

在Spring配置文件中加入如下配置:

<!-- TASK -->
<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/>
<task:executor id="myExecutor" pool-size="5"/>
<task:scheduler id="myScheduler" pool-size="10"/>

编写如下测试代码:

package com.ylmob.yunpay.task.statistics.impl;

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

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class TestTask {
    
    private static final Logger logger = LoggerFactory.getLogger(TestTask.class);
    
    @Scheduled(cron="* 0/2 * * * ?")
    public void task(){
        logger.info("The current time is {}.", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()));
    }

}

我以为

@Scheduled(cron="* 0/2 * * * ?")

表示从第0分钟开始,然后每两分钟执行一次,但是通过查看控制台的日志(截图如下),发现并不是执行一次,而是从第0分钟开始,每两分钟的那一分钟内的每一秒都会执行一次。

技术分享

有关Cron表达式的理解误区

原文:http://my.oschina.net/dengjianming/blog/516545

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!