Class Repertoire

java.lang.Object
org.aoju.bus.cron.Repertoire

public class Repertoire extends Object
定时任务表 任务表将ID、表达式、任务一一对应,定时任务执行过程中,会周期性检查定时任务表中的所有任务表达式匹配情况,从而执行其对应的任务 任务的添加、移除使用读写锁保证线程安全性
Since:
Java 17+
Version:
6.5.0
Author:
Kimi Liu
  • Field Details

  • Constructor Details

    • Repertoire

      public Repertoire()
      构造
    • Repertoire

      public Repertoire(int initialCapacity)
      构造
      Parameters:
      initialCapacity - 容量,即预估的最大任务数
  • Method Details

    • add

      public Repertoire add(String id, CronPattern pattern, Task task)
      新增Task
      Parameters:
      id - ID
      pattern - CronPattern
      task - Task
      Returns:
      this
    • getIds

      public List<String> getIds()
      获取所有ID,返回不可变列表,即列表不可修改
      Returns:
      ID列表
    • getPatterns

      public List<CronPattern> getPatterns()
      获取所有定时任务表达式,返回不可变列表,即列表不可修改
      Returns:
      定时任务表达式列表
    • getTasks

      public List<Task> getTasks()
      获取所有定时任务,返回不可变列表,即列表不可修改
      Returns:
      定时任务列表
    • remove

      public boolean remove(String id)
      移除Task
      Parameters:
      id - Task的ID
      Returns:
      是否成功移除,false表示未找到对应ID的任务
    • updatePattern

      public boolean updatePattern(String id, CronPattern pattern)
      更新某个Task的定时规则
      Parameters:
      id - Task的ID
      pattern - 新的表达式
      Returns:
      是否更新成功,如果id对应的规则不存在则不更新
    • getTask

      public Task getTask(int index)
      获得指定位置的Task
      Parameters:
      index - 位置
      Returns:
      Task
    • getTask

      public Task getTask(String id)
      获得指定id的Task
      Parameters:
      id - ID
      Returns:
      Task
    • getPattern

      public CronPattern getPattern(int index)
      获得指定位置的CronPattern
      Parameters:
      index - 位置
      Returns:
      CronPattern
    • size

      public int size()
      任务表大小,加入的任务数
      Returns:
      任务表大小, 加入的任务数
    • isEmpty

      public boolean isEmpty()
      任务表是否为空
      Returns:
      true为空
    • getPattern

      public CronPattern getPattern(String id)
      获得指定id的CronPattern
      Parameters:
      id - ID
      Returns:
      CronPattern
    • executeTaskIfMatch

      public void executeTaskIfMatch(Scheduler scheduler, long millis)
      如果时间匹配则执行相应的Task,带读锁
      Parameters:
      scheduler - Scheduler
      millis - 时间毫秒
    • executeTaskIfMatchInternal

      protected void executeTaskIfMatchInternal(Scheduler scheduler, long millis)
      如果时间匹配则执行相应的Task,无锁
      Parameters:
      scheduler - Scheduler
      millis - 时间毫秒
    • toString

      public String toString()
      Overrides:
      toString in class Object