美文网首页
1.6-Quartz大哥(Trigger分支)

1.6-Quartz大哥(Trigger分支)

作者: 王子也寂寞 | 来源:发表于2017-12-11 22:48 被阅读0次

    一.SimpleTrigger

    • 作用:
      在某一指定时间段内执行一次作业任务,或者在指定的时间间隔内多次执行作业任务.
      默认情况下就是SimpleTrigger.
     //创建一个Trigger实例,用来触发Job来执行的
            //获取距离当前时间3秒后的时间
            Date startDate = new Date();
            startDate.setTime(startDate.getTime() + 3000);
            //获取距离当前6s后的时间
            Date endDate = new Date();
            endDate.setTime(endDate.getTime() + 6000);
            
            //立即执行,并且每隔两秒执行一次
            Trigger trigger = TriggerBuilder.newTrigger()
                    .withIdentity("myTrigger", "TriggerGroup1")
                    .startAt(startDate)
                    .endAt(endDate)
                    .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                            .withIntervalInSeconds(2)
                            .repeatForever())
                    .build();
    
    • 注意点:
    1. withRepeatCount这个参数可以是0,正整数或是SimpleTrigger.REPEAT_INDEFINITELY常量值.
    2. 重复执行间隔必须为0或者长整数.
      3.一旦指定了endTime参数,那么会覆盖重复次数参数的效果.

    二.CronTrigger

    • 作用:
      基于日历的作业调度器,而不是像SimpleTrigger那样精确指定时间间隔,比SimpleTrigger更常用.
    1.Cron表达式
    • 用于配置CronTrigger实例.是由7个子表达式组成的字符串,描述了时间表的详细信息.格式:秒 分 小时 日 月 周 年,注意[]和[]之间有空格.
    • Cron表达式特殊字符意义对应表
    字段 是否必填 允许值 允许特殊字符
    0~59 , - * /
    0~59 , - * /
    小时 0~23 , - * /
    1~31 , - * ? / L W C
    1~12 或者 JAN-DEC , - * /
    1~7 或者 SUN-SAT , - * ? / L C #
    empty,1970~2099 , - * /
    • 符号的意思
      ,表示或的关系;
      -表示至,between的意思.
      *表示每的意思,per的意思.
      /表示每隔多久触发的意思.
      ?表示不用管的意思.
      #表示第几周
      L表示最后第意思,last;注意星期是周日到周六,最后一天是周六,7是星期六.
      W表示离指定日期最近的那个工作日.LW可以一起使用.
    • 举例
      每天的14点整至15点59分55秒,以及18点整至18点59分55秒,每隔5s触发一次.
      0/5 * 14,18 * * ?
    2.提示

    Cron表达式生成器,可以直接百度

    相关文章

      网友评论

          本文标题:1.6-Quartz大哥(Trigger分支)

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