美文网首页
@Scheduled cron 表示式 含义 

@Scheduled cron 表示式 含义 

作者: 果酱一一 | 来源:发表于2015-10-28 10:11 被阅读3806次
    @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次  
    

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。

    Seconds Minutes Hours DayofMonth Month DayofWeek Year

    Seconds Minutes Hours DayofMonth Month DayofWeek

    按顺序依次为
    • 秒(0~59)
    • 分钟(0~59)
    • 小时(0~23)
    • 天(月)(0~31,但是你需要考虑你月的天数)
    • 月(0~11)
    • 天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
    • 年份(1970-2099)

    可用的符号

    • Seconds ,- * / 四个字符,有效范围为0-59的整数
    • Minutes ,- * / 四个字符,有效范围为0-59的整数
    • Hours ,- * / 四个字符,有效范围为0-23的整数
    • DayofMonth ,- * / ? L W C八个字符,有效范围为0-31的整数
    • Month ,- * / 四个字符,有效范围为1-12的整数或JAN-DEc
    • DayofWeek ,- * / ? L C #四个字符,有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一, 依次类推
    • Year ,- * / 四个字符,有效范围为1970-2099年

    各字符代表的含义

    * 字符代表所有可能的值。因此,* 在子表达式(月)里表示每个月的含义,* 在子表达式(天(星期))表示星期的每一天

    “/”字符用来指定数值的增量 例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样

    “?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”

    -:表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次

    /:表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次.

    ,:表示列出枚举值值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。

    一些示例

    *"0 0 12 * * ?"    每天中午十二点触发 *
    *"0 15 10 ? * *"    每天早上10:15触发 *
    *"0 15 10 * * ?"    每天早上10:15触发 *
    *"0 15 10 * * ? *"    每天早上10:15触发 *
    *"0 15 10 * * ? 2005"    2005年的每天早上10:15触发 *
    *"0 * 14 * * ?"    每天从下午2点开始到2点59分每分钟一次触发 *
    *"0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发 *
    *"0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 *
    *"0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发 *
    *"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发 *
    *"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发 *
    
    引用:

    http://www.blogjava.net/lcs868/articles/246649.html

    相关文章

      网友评论

          本文标题:@Scheduled cron 表示式 含义 

          本文链接:https://www.haomeiwen.com/subject/ykgxhttx.html