类 QuartzUtil

java.lang.Object
com.sh.wf.module.timer.QuartzUtil

public class QuartzUtil extends Object

Description: 定时器管理

Title:首亨软件 - TSS/CRM等

从以下版本开始:
2015年3月23日
  • 构造器详细资料

    • QuartzUtil

      public QuartzUtil()
  • 方法详细资料

    • addJob

      public static String addJob(String jobName, org.quartz.Job job, String time, Map<String,Object> dataMap) throws org.quartz.SchedulerException, ParseException
      添加定时器任务
      参数:
      jobName - job名称
      job - 实例
      time - 时间表达式 支持七个域 名称 是否必须 允许值 特殊字符 秒 是 0-59 , - * / 分 是 0-59 , - * / 时 是 0-23 , - * / 日 是 1-31 , - * ? / L W C 月 是 1-12 或 JAN-DEC , - * / 周 是 1-7 或 SUN-SAT , - * ? / L C # 年 否 空 或 1970-2099 , - * / 示例:0 * 17 * * ? 每天从下午5点到下午5:59中的每分钟激发一次 0 0,15,30,45 * * * ? 每刻钟触发一次 0/15 0/30 * * * ? 在整点和半点时每15秒触发 0 45 3-8 ? * * 在上午的3点至上午的8点的45分时触发 0 0 8 L * ? 每个月最后一天的上午 8:00 触发 (L 说明了某域上允许的最后一个值。它仅被日和周域支持,当 L 字母用于周域上,指示着周的最后一天,就是星期六 (或者数字7)) 0 15 10 ? * MON-FRI 在每个周一,二, 三和周四的 10:15 AM 通用说明:星号(*):可用在所有字段中,表示对应时间域的每一个时刻,例如,*在分钟字段时,表示“每分钟” 问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符 减号(-):表达一个范围,如在小时字段中使用“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
      dataMap - Map
      返回:
      String
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • addJob

      public static String addJob(String jobName, org.quartz.Job job, String time) throws org.quartz.SchedulerException, ParseException
      抛出:
      org.quartz.SchedulerException
      ParseException
    • addJob

      public static String addJob(String jobName, String triggerName, org.quartz.Job job, String time, Map<String,Object> dataMap) throws org.quartz.SchedulerException, ParseException
      添加定时器任务
      参数:
      jobName - String
      triggerName - String
      job - Job
      time - String
      dataMap - Map
      返回:
      String
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • addJobOnlyOnce

      public static String addJobOnlyOnce(org.quartz.Job job) throws org.quartz.SchedulerException, ParseException
      抛出:
      org.quartz.SchedulerException
      ParseException
    • addJobOnlyOnce

      public static String addJobOnlyOnce(String jobName, org.quartz.Job job) throws org.quartz.SchedulerException, ParseException
      抛出:
      org.quartz.SchedulerException
      ParseException
    • addJobOnlyOnce

      public static String addJobOnlyOnce(String jobName, org.quartz.Job job, Map<String,Object> dataMap) throws org.quartz.SchedulerException, ParseException
      执行任务,只执行一次
      参数:
      jobName - String
      job - Job
      dataMap - Map
      返回:
      String
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • modifyJobTime

      public static boolean modifyJobTime(String jobName, String time) throws org.quartz.SchedulerException, ParseException
      修改定时器时间
      参数:
      jobName - 任务名称
      time - 时间表达式
      返回:
      boolean
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • hasJob

      public static boolean hasJob(String jobName) throws org.quartz.SchedulerException, ParseException
      判断Job是否存在
      参数:
      jobName - String
      返回:
      boolean
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • getJobState

      public static int getJobState(String jobName) throws org.quartz.SchedulerException, ParseException
      查询任务状态
      参数:
      jobName - String
      返回:
      state的值代表该任务触发器的状态: STATE_BLOCKED 4 // 运行 STATE_COMPLETE 2 //完成那一刻,不过一般不用这个判断Job状态 STATE_ERROR 3 // 错误 STATE_NONE -1 //未知 STATE_NORMAL 0 //正常无任务,用这个判断Job是否在运行 STATE_PAUSED 1 //暂停状态
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • isJobRunning

      public static boolean isJobRunning(String jobName) throws org.quartz.SchedulerException, ParseException
      判断任务是否下在执行
      参数:
      jobName - String
      返回:
      boolean
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • removeJob

      public static boolean removeJob(String jobName) throws org.quartz.SchedulerException, ParseException
      移除定时器
      参数:
      jobName - String
      返回:
      boolean
      抛出:
      org.quartz.SchedulerException - SchedulerException
      ParseException - ParseException
    • isValidTimeExpression

      public static boolean isValidTimeExpression(String timeExp)
      检查时间表达式是否有效
      参数:
      timeExp - String
      返回:
      boolean
    • createTimeBuilder

      public static QuartzUtil.QuartzTimeExpressBuilder createTimeBuilder()
      生成时时间表达式生成类
      返回:
    • createTimeEverySecond

      public static String createTimeEverySecond(int second, int every)
      生成每every秒执行的时间表达式
      参数:
      second -
      every -
      返回:
    • createTimeEveryMinute

      public static String createTimeEveryMinute(int minute, int every)
      生成每every分钟执行的时间表达式
      参数:
      minute -
      every -
      返回:
    • createTimeEveryHour

      public static String createTimeEveryHour(int hour, int every)
      生成每every小时执行的时间表达式
      参数:
      minute -
      every -
      返回:
    • createTimeHour

      public static String createTimeHour(int hour, int minute, int second)
      每天固定时间点执行
      参数:
      hour -
      minute -
      second -
      返回: