精华内容
下载资源
问答
  • Java定时器cron设置详解 这些星号由左到右按顺序代表 : * * * * * * * 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 是 0-59 , - * / 2 分 ...

    转自:

    Java定时器的cron设置详解

     

    这些星号由左到右按顺序代表 : * * * * * * *
    格式: [秒] [分] [小时] [日] [月] [周] [年]

    序号 说明   是否必填  允许填写的值         允许的通配符
    1      秒          是        0-59                        , - * /
    2      分          是        0-59                        , - * /
    3     小时        是        0-23                        , - * /
    4      日          是        1-31                        , - * ? / L W
    5      月          是        1-12 or JAN-DEC     , - * /
    6      周          是        1-7 or SUN-SAT      , - * ? / L #
    7      年          否        empty 或 1970-2099  , - * /

    通配符说明:
    * 表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。
    ?表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?
    -表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。
    , 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
    /用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。一般不写的话,默认递增为基本单位,如1分钟,1秒钟
    L表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样的格式,则表示“本月最后一个星期五"
    W表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-").
    小提示
    'L'和 'W'可以一组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发(一般指发工资 )

    # 序号(表示每月的第几个周几),例如在周字段上设置"6#3"表示在每月的第三个周六.注意如果指定"#5",正好第五周没有周六,则不会触发该配置(用在母亲节和父亲节再合适不过了)
    小提示
    周字段的设置,若使用英文字母是不区分大小写的 MON 与mon相同.

    常用示例:
    0 0 12 * * ? 每天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点59分(整点开始,每隔5分触发)
    0 0/5 14,18 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)以及每天下午的 18点到18点59分(整点开始,每隔5分触发)

    0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发
    0 10,44 14 ? 3 WED 3月分每周三下午的 2点10分和2点44分触发 (特殊情况,在一个时间设置里,执行两次或 两次以上的情况)
    0 59 2 ? * FRI 每周5凌晨2点59分触发;
    0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发
    0 15 10 15 * ? 每月15号上午10点15分触发
    0 15 10 L * ? 每月最后一天的10点15分触发
    0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6#3 每月的第三周的星期五开始触发
    0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
    0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)
     

    展开全文
  • Cron表达式一般是程序的定时任务中所要起的..我们用的springboot中的@Schedule中,启动类中添加enable的注解 这样在使用的时候,可以直接在方法上添加Schedule注解,这样,该方法就会在指定的cron表达式中表示的时间...

    spring中用到的定时任务,一般用到的有Timer()和Schedule

    Cron表达式一般是程序的定时任务中所要起的..我们用的springboot中的@Schedule中,启动类中添加enable的注解

    这样在使用的时候,可以直接在方法上添加Schedule注解,这样,该方法就会在指定的cron表达式中表示的时间内进行执行.

     

    这些星号由左到右按顺序代表 : * * * * * * *
    格式: [秒] [分] [小时] [日] [月] [周] [年]

    序号 说明   是否必填  允许填写的值         允许的通配符

    1      秒          是        0-59                        , - * /
    2      分          是        0-59                        , - * /
    3     小时        是        0-23                        , - * /
    4      日          是        1-31                        , - * ? / L W
    5      月          是        1-12 or JAN-DEC     , - * /
    6      周          是        1-7 or SUN-SAT      , - * ? / L #
    7      年          否        empty 或 1970-2099  , - * /

    注:虽然这个是七位,但是在程序中七位是抛异常的...所以最后一位是不用的

    通配符说明:
    * 表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。
    ?表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?
    -表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。
    , 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
    /用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。一般不写的话,默认递增为基本单位,如1分钟,1秒钟
    L表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样的格式,则表示“本月最后一个星期五"
    W表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-").
    小提示
    'L'和 'W'可以一组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发(一般指发工资 )

    # 序号(表示每月的第几个周几),例如在周字段上设置"6#3"表示在每月的第三个周六.注意如果指定"#5",正好第五周没有周六,则不会触发该配置(用在母亲节和父亲节再合适不过了)

    update-2020-03-03:

    6#3 为每月第三周的周五...即每月第三周的第六天....第六天是国内的周五.


    小提示
    周字段的设置,若使用英文字母是不区分大小写的 MON 与mon相同.

    常用示例:
    0 0 12 * * ? 每天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点59分(整点开始,每隔5分触发)
    0 0/5 14,18 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)以及每天下午的 18点到18点59分(整点开始,每隔5分触发)

    0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发
    0 10,44 14 ? 3 WED 3月分每周三下午的 2点10分和2点44分触发 (特殊情况,在一个时间设置里,执行两次或 两次以上的情况)
    0 59 2 ? * FRI 每周5凌晨2点59分触发;
    0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发
    0 15 10 15 * ? 每月15号上午10点15分触发
    0 15 10 L * ? 每月最后一天的10点15分触发
    0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6#3 每月的第三周的星期五开始触发
    0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
    0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)

    展开全文
  • 他在cron表达式中,必定存在,有且只有一个,且他只能在日和周的域中存在,表示,不关系这个域是什么值,看好了,跟*的包含所有值不同,他是不关系是月的哪一天或是周的哪一天。如果在周域定义具体的数值,日域必须...

    这些星号由左到右按顺序代表 : * * * * * * *
    格式: [秒] [分] [小时] [日] [月] [周] [年]

    序号 说明   是否必填  允许填写的值         允许的通配符
    1      秒          是        0-59                        , - * /
    2      分          是        0-59                        , - * /
    3     小时        是        0-23                        , - * /
    4      日          是        1-31                        , - * ? / L W
    5      月          是        1-12 or JAN-DEC     , - * /
    6      周          是        1-7 or SUN-SAT      , - * ? / L #
    7      年          否        empty 或 1970-2099  , - * /

    接下来的cron表达式,我会结合着quartz来描述。首先cron表达式是有7个域的,依次分别是:秒分时日月周年,其中年是可选类型,也就是说他如果在不设定年分的情况下是每年。

    1、星号(*)

    他在每个域都可以存在,包含所有合法的值,看好这里是包含所有,意思就是说在那一个域上表示这个域上的所有值,加入在月,表示1-12,也就是说是每月,都会被执行。

    示例1:0**1*?   note:每月1号凌晨都会被执行。

    示例2:0**?**   note:每分钟的00秒被执行。

    2、问号(?)

    他在cron表达式中,必定存在,有且只有一个,且他只能在日和周的域中存在,表示,不关系这个域是什么值,看好了,跟*的包含所有值不同,他是不关系是月的哪一天或是周的哪一天。如果在周域定义具体的数值,日域必须为问号(?),如果在日域定义啦具体的数值,那么周域就必须为问号(?)。为什么,因为避免含糊不清的表达方式,比如3月的第20天,刚好是第三周的第5天,那么如果在日域定义20,周域定义5这样,就双重定义,很蛋疼。cron表达式也不允许。

    示例1:0 10 18 ? 3 WEB     note:每年3月的每个星期三,下午6点10分都会被触发

    示例2:0 10 18 15 3 ?        note:每年三月的第15天,下午6点10分都会被触发

    3、横杠(-)

    他在cron表达式中,可以存在任何域,如果存在某个域,表示起止时间,他表示一个时间段。

    实例1:0 10 18 1-5 * ?          note:每月的1号到5号(包含每月1号和5号,每月共计5天都会被触发),下午6点10分都会被触发

    实例2:0 10-15 * ? * *          note:每小时的第10分钟到第15分钟(包含每小时的第10分钟和第15分钟,每小时共计5分钟都会被触发),都会被触发

    4、逗号(,)

    他在cron表达式中,可以存在任何域,如果存在某个域,表示可选值,他是个多点的概念。

    实例1:10,20  *  * ? * *         note:每分钟的第10秒与第20秒都会被触发

    实例2:0 10,20 * 1,2 * ?          note:每月的第1天与第2天的,每小时的第10分钟与第20分钟被触发。

    5、斜划线(/)

    他在cron表达式中,可以存在任何域,表示增量,是在域中设定一个起始的值,然后每隔多少时间的概念。

    实例1:5/20 * * ? * *           note:每分钟的第5秒,第25秒,第45秒 都会被执行。

    实例2:0 * 2/2 ? *  *          note:每天的第2小时,第4小时,第6小时,第8小时 ... 第22小时的00分00秒都会被触发。

    6、井号(#)

    他在cron表达式中,只能存在周这一个域,表示第几周的星期几,如果超出范围,则忽略不记。

    实例1:* * * ? * 3#4            note:每月的第4个星期的周2,凌晨触发。

    实例2:* * * ? * 6#2            note:每月的第2个星期的周5,凌晨触发

    常用示例:
    0 0 12 * * ? 每天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点59分(整点开始,每隔5分触发)
    0 0/5 14,18 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)以及每天下午的 18点到18点59分(整点开始,每隔5分触发)

    0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发
    0 10,44 14 ? 3 WED 3月分每周三下午的 2点10分和2点44分触发 (特殊情况,在一个时间设置里,执行两次或 两次以上的情况)
    0 59 2 ? * FRI 每周5凌晨2点59分触发;
    0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发
    0 15 10 15 * ? 每月15号上午10点15分触发
    0 15 10 L * ? 每月最后一天的10点15分触发
    0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发
    0 15 10 ? * 6#3 每月的第三周的星期五开始触发
    0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
    0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)

     

     

    如果觉得本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行随意打赏。您的支持将鼓励我继续创作

    展开全文
  • spring定时器cron表达式(quartz中时间表达式)   在Spring中有两种流行配置:Java的Timer类和OpenSymphony的Quartz。 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask...
    

    spring定时器及cron表达式(quartz中时间表达式)

     

    在Spring中有两种流行配置:Java的Timer类和OpenSymphony的Quartz。
    1.Java Timer定时
    首先继承java.util.TimerTask类实现run方法
    import java.util.TimerTask;
    public class EmailReportTask extends TimerTask{
        @Override
        public void run() {
            ...
        }  
    }

    例如:

     //===== Task.java =====
    import java.util.TimerTask;

    public class Task extends TimerTask ...{

        private String id;
       
        public Task(String id)...{
            this.id = id;
        }
       
        @Override
        public void run() ...{
            System.out.println(id+" is running...");
           
        }

    }


    //===== Test .java =====

    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;

    public class Test ...{

        /** *//**
         * @param args
         */
        public static void main(String[] args) ...{
            Timer timer = new Timer();
            TimerTask t1 = new Task("t1");
            TimerTask t2 = new Task("t2");
            //1000毫秒后,每隔1000毫秒运行一次t1任务
            timer.schedule(t1,1000,1000);
            //从现在开始,每隔500毫秒运行一次t2任务
            timer.schedule(t2, new Date(),500);
       
           
            try ...{
                Thread.sleep(10000);
            } catch (InterruptedException e) ...{
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            timer.cancel();
            System.out.println("---end---");

        }

    }

    在Spring定义
    <bean id="reportTimerTask" class="EmailReportTask">...</bean>
    配置定时器
    <bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
    <property name="timerTask" ref="reportTimerTask" />
    <property name="period">
    <value>86400000</value>
    </property>
    </bean>
    timerTask属性告诉ScheduledTimerTask运行哪个。86400000代表24个小时
    启动定时器
    Spring的TimerFactoryBean负责启动定时任务
    <bean class="org.springframework.scheduling.timer.TimerFactoryBean">
    <property name="scheduledTimerTasks">
       <list><ref bean="scheduleReportTask"/></list>
    </property>
    </bean>
    scheduledTimerTasks里显示一个需要启动的定时器任务的列表。
    可以通过设置delay属性延迟启动
    <bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
    <property name="timerTask" ref="reportTimerTask" />
    <property name="period">
    <value>86400000</value>
    </property>
    <property name="delay">
    <value>3600000</value>
    </property>
    </bean>
    这个任务我们只能规定每隔24小时运行一次,无法精确到某时启动
    2.Quartz定时器
    首先继承QuartzJobBean类实现executeInternal方法
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.scheduling.quartz.QuartzJobBean;

    public class EmailReportJob extends QuartzJobBean{
    protected void executeInternal(JobExecutionContext arg0)
    throws JobExecutionException {
    ...
    }
    }
    在Spring中定义
    <bean id="reportJob" class="org.springframework.scheduling.quartz.JobDetailBean">
    <property name="jobClass">
    <value>EmailReportJob</value>
    </property>
    <property name="jobDataAsMap">
        <map>
            <entry key="courseService">
                <ref bean="courseService"/>
                </entry>
        </map>
    </property>
    </bean>
    在这里我们并没有直接声明一个EmailReportJob Bean,而是声明了一个JobDetailBean。这个是Quartz的特点。JobDetailBean是Quartz的org.quartz.JobDetail的子类,它要求通过jobClass属性来设置一个Job对象。
    使用Quartz的JobDetail中的另一个特别之处是EmailReportJob的courseService属性是间接设置的。JobDetail的jobDataAsMap属性接受一个Map,包括设置给jobClass的各种属性,当。JobDetailBean实例化时,它会将courseService Bean注入到EmailReportJob 的courseService 属性中。
    启动定时器
    Quartz的org.quartz.Trigger类描述了何时及以怎样的频度运行一个Quartz工作。Spring提供了两个触发器SimpleTriggerBean和CronTriggerBean。
    SimpleTriggerBean与scheduledTimerTasks类似。指定工作的执行频度,模仿scheduledTimerTasks配置
    <bean id="simpleReportTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="jobDetail" ref="reprotJob" />
    <property name="startDelay">
    <value>360000</value>
    </property>
    <property name="repeatInterval">
        <value>86400000</value>
    </property>
    </bean>
    startDelay也是延迟1个小时启动
    CronTriggerBean指定工作的准确运行时间
    <bean id="cronReportTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="reprotJob" />
    <property name="cronExpression">
    <value>0 0 6 * * ?</value>
    </property>
    </bean>
    属性cronExpression告诉何时触发。最神秘就是cron表达式:
    Linux系统的计划任务通常有cron来承担。一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。从左到右:
    1.秒2.分3.小时4.月份中的日期(1-31)5.月份(1-12或JAN-DEC)6.星期中的日期(1-7或SUN-SAT)7.年份(1970-2099)
    每个元素都显示的规定一个值(如6),一个区间(9-12),一个列表(9,11,13)或一个通配符(*)。因为4和6这两个元素是互斥的,因此应该通过设置一个问号(?)来表明不想设置的那个字段,“/”如果值组合就表示重复次数(10/6表示每10秒重复6次)。
    启动定时器
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
           <list><ref bean="cronReportTrigger"/></list>
        </property>
    </bean>
    triggers属性接受一组触发器。

    ---------------------------------------------

    cron表达式(quartz中时间表达式)
    Quartz使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成,如表1所示:

    表1 Cron表达式时间字段

     

     

    Cron表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表、范围、通配符等功能,细说如下:

    ●星号(*):可用在所有字段中,表示对应时间域的每一个时刻,例如,*在分钟字段时,表示“每分钟”;

    ●问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符;

    ●减号(-):表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12;

    ●逗号(,):表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一,星期三和星期五;

    ●斜杠(/):x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y;

    ●L:该字符只在日期和星期字段中使用,代表“Last”的意思,但它在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的31号,非闰年二月的28号;如果L用在星期中,则表示星期六,等同于7。但是,如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五;

    ●W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。W字符串只能指定单一日期,而不能指定日期范围;

    ●LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日;

    ●井号(#):该字符只能在星期字段中使用,表示当月某个工作日。如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发;

    ● C:该字符只在日期和星期字段中使用,代表“Calendar”的意思。它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

    Cron表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏感。

    表2下面给出一些完整的Cron表示式的实例:
     CRON表达式    含义 
    "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触发 

    展开全文
  • cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表。这些子表达式是分开的空白,代表: 1. Seconds 2. Minutes 3. Hours 4. Day-of-Month 5.Month 6. Day-of-Week 7. Year (可选字段) ...
  • cron表达式是一个好东西,这个东西不仅Java的quartZ能用到,Go语言中也可以用到。我没有用过Linux的cron,但网上说Linux也是可以用crontab -e 命令来配置定时任务。Go语言和Java中都是可以精确到秒的,但是Linux中...
  • Quartz Cron表达式主要用于JAVA Spring定时任务中,用法如下:# 每月的最后1天@Scheduled(cron = "0 0 18 28–31 * ?")public void doAtLastDayOfMonth() {final Calendar calendar = Calendar.getInstance();if (c....
  • 转自:... 这些星号由左到右按顺序代表 : * * * * * * *格式: [秒] [分] [小时] [日] [月] [周] [年]序号 说明 &nbsp;&nbsp;是否必填 &nbsp;允许填写的值 &... 允许...
  • @Component public class SubcontractProductionJob implements SchedulingConfigurer { //设置任务执行时间轮转,cronExpression表达式 (秒 分 时 日 月 周) @Value("${TASK_DYNAMIC_CRON}") private String ...
  • quartz定时任务cron表达式例子: 0 * * * * ? 每1分钟触发一次 0 0 * * * ? 每天每1小时触发一次 0 0 10 * * ? 每天10点触发一次 0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发 0 30 9 1 * ? 每月1号...
  • Java定时器

    2016-12-06 08:36:26
    Quartz的cron表达式 (spring定时器 crontab) 一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。 按顺序依次为: 秒 (0~59) 分钟 (0~59) 小时 (0~23) 天(月) (0~31,但是你需要...
  • java定时器

    2013-08-21 11:23:41
    最神秘就是cron表达式: Linux系统的计划任务通常有cron来承担。一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。从左到右: 1.秒2.分3.小时4.月份中的日期(1-31)5.月份(1-12或JAN-DEC)6.星期...
  • Java中为我们提供了Timer来实现定时任务,当然现在还有很多定时任务框架,比如说Spring、QuartZ、Linux Cron等等,而且性能也更加优越。但是我们想要深入的学习就必须先从最简单的开始。第一种:创建一个thread,...
  • 定时器相信大家都不陌生,平时使用定时器就像使用闹钟一样,我们可以在固定的时间做某件事,也可以在固定的时间段重复做某件事,今天就来分析一下java中自带的定时任务器Timer。一、Timer基本使用在Java中为我们提供...
  • spring定时器支持定时启动,间隔时间启动,一段时间内间隔时间启动,其中有用到cron表达式 定时器本质就是spring框架定时的帮你调用你自己写好的方法。 首先导入maven依赖当然这个是出来spring所需要的依赖之外的...
  • @Scheduled(cron = "0/10 * 0-5 * * ? ")//每天凌晨0点-5点 每10秒执行一次 定时器使用方法 转载特此记录 https://www.cnblogs.com/kxxiang/p/4297535.html ......
  • 定时器相信大家都不陌生,平时使用定时器就像使用闹钟一样,我们可以在固定的时间做某件事,也可以在固定的时间段重复做某件事,今天就来分析一下java中自带的定时任务器Timer。一、Timer基本使用在Java中为我们提供...
  • spring定时器cron表达式

    千次阅读 2013-12-30 09:04:28
    spring定时器cron表达式(quartz中时间表达式)   在Spring中有两种流行配置:Java的Timer类和OpenSymphony的Quartz。  1.Java Timer定时  首先继承java.util.TimerTask类实现run方法  import java...
  • ) 表名这个类是定时器,这个类里面可以写N个定时器,注解是用 @Scheduled(cron="0 0/10 * * * ?") 当然cron是你自己定义的时间,后面我会抽点时间说说这个cron表达式。demo如下:     package ...
  • 使用基于注解配置的spring定时器 基于注解会相对简单的多,直接编写任务类Mytask @EnableScheduling @Component public class Mytask { @Scheduled(cron = "*/5 * * * * ?") public void execute(){ ...
  • Java 动态定时器

    2017-08-30 18:31:59
    Java 动态定时器基于Java定时器线程池,阻塞队列实现,定时调度时间采用cron表达式配置的方式,其中cron表达式解析工具类提取自spring。 用法极其简单,只需要将ScheduleUtils工具类复制到项目里,然后调用...
  • 方法上的定时任务注解: @Scheduled(cron = "0 */58 */1 * * ?") 类上的注入注解: @Component 启动类上的注解: @EnableScheduling 启动项目是开启任务调度 1.下图是启动类的注解 2.启动类和放的注解 3.@...
  • 在需要运行的方法上加上@Scheduled(cron = “表达式”)注解 , 表达式可以通过 cron 在线生成器生成方法的固定运行时间表达式 在该方法上加上 @Component 注解 在运行类上面加上 Application 上加上 @...
  • 1、利用spring编写定时任务@Component @Configurable @EnableScheduling //关键注解 ... @Scheduled(cron = "0 0 0-23 * * ?") //时间表达式,每天整点执行 public void emailPushByCron(){ System.o...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 143
精华内容 57
关键字:

java定时器cron

java 订阅