目录
Job
Job: 通过调用execute()方法,表示执行一个任务。Job实例一定要有一个public 无参构造器。实例的成员数据可以放到JobDataMap中。
public interface Job {
void execute(JobExecutionContext context)
throws JobExecutionException;
}
JobDetail
JobDetail:传递给定Job实例的详细信息。由JobBuilder创建产生。Quartz没有存储一个实际的Job实例,而是通过对JobDetail的使用,来定义一个Job实例。
public interface JobDetail extends Serializable, Cloneable {
public JobKey getKey();
public String getDescription();
public Class<? extends Job> getJobClass();
public JobDataMap getJobDataMap();
public boolean isDurable();
public boolean isPersistJobDataAfterExecution();
public boolean isConcurrentExectionDisallowed();
public boolean requestsRecovery();
public Object clone();
public JobBuilder getJobBuilder();
}
public Class<? extends Job> getJobClass(); --- 返回将要执行的Job实例
public JobDataMap getJobDataMap(); --- 返回与Job关联的JobDataMap
public boolean isDurable(); --- 当Job变成“孤儿”时,Job是否应该保持持久化,默认是false
public boolean isPersistJobDataAfterExecution(); --- 返回是否携带 @PersistJobDataAfterExecution注解
public boolean isConcurrentExecutionDisallowed(); --- 返回是否携带@ConcurrentExecution注解
public boolean requestsRecovery(); --- 指示Scheduler如果遇到“recovery”或者“fail-over”情形,Job是否应该重新执行,默认是false
public JobBuilder getJobBuilder(); --- 返回JobBuilder
Trigger
Trigger:在一个Scheduler中,Trigger都有一个唯一的TriggerKey。Trigger是一个Job被调度时的机制。Trigge可以通过JobDataMap向Job发送一些数据。
public interface Trigger extends Serializable, Cloneable, Comparable<Trigger> {
public static final long serialVersionUID = -3904243490805975570L;
public enum TriggerState { NONE, NORMAL, PAUSED, COMPLETE, ERROR, BLOCKED }
public enum CompletedExecutionInstruction { NOOP, RE_EXECUTE_JOB, SET_TRIGGER_COMPLETE, DELETE_TRIGGER,
SET_ALL_JOB_TRIGGERS_COMPLETE, SET_TRIGGER_ERROR, SET_ALL_JOB_TRIGGERS_ERROR }
public static final int MISFIRE_INSTRUCTION_SMART_POLICY = 0;
public static final int MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY = -1;
public static final int DEFAULT_PRIORITY = 5;
public TriggerKey getKey();
public JobKey getJobKey();
public String getDescription();
public String getCalendarName();
public JobDataMap getJobDataMap();
public int getPriority();
public boolean mayFireAgain();
public Date getStartTime();
public Date getEndTime();
public Date getNe