SchedulerListeners
调度器很像触发监听器(TriggerListeners)和工作监听器(JobListeners),除非它们接收到调度程序本身中的事件通知——不一定是与特定触发器或作业相关的事件。
与调度相关的事件包括:添加作业/触发器、删除作业/触发器、调度程序中的严重错误、调度程序被关闭的通知等。
SchedulerListeners 接口
public interface SchedulerListener {
/**
* 当作业被调度时,调度器调用此方法。
* @param trigger 与调度作业相关联的触发器。
*/
public void jobScheduled(Trigger trigger);
/**
* 当作业取消调度时,调度器调用此方法。
* @param triggerName 要取消调度的触发器的名称。
* @param triggerGroup 要取消调度的触发器的组名。
*/
public void jobUnscheduled(String triggerName, String triggerGroup);
/**
* 当触发器被终止时,调度器调用此方法。
* @param trigger 触发器被终止。
*/
public void triggerFinalized(Trigger trigger);
/**
* 当触发器被暂停时,调度器调用此方法。
* @param triggerName 要暂停的触发器的名称。
* @param triggerGroup 要暂停的触发器的组名。
*/
public void triggersPaused(String triggerName, String triggerGroup);
/**
* 当触发器恢复时,调度器调用此方法。
* @param triggerName 要恢复的触发器的名称。
* @param triggerGroup 要恢复的触发器的组名。
*/
public void triggersResumed(String triggerName, String triggerGroup);
/**
* 当作业被暂停时,调度器调用此方法。
* @param jobName 要暂停的作业的名称。
* @param jobGroup 要暂停的作业的组名。
*/
public void jobsPaused(String jobName, String jobGroup);
/**
* 当作业恢复时,调度器调用此方法。
* @param jobName 要恢复的作业的名称。
* @param jobGroup 要恢复的作业的组名。
*/
public void jobsResumed(String jobName, String jobGroup);
/**
* 当调度器发生错误时,调度器调用此方法。
* @param msg 错误消息。
* @param cause 导致错误的异常。
*/
public void schedulerError(String msg, SchedulerException cause);
/**
* 当调度器启动时,调度器调用此方法。
*/
public void schedulerStarted();
/**
* 当调度器处于待命模式时,调度器调用此方法。
*/
public void schedulerInStandbyMode();
/**
* 当调度器关闭时,调度器调用此方法。
*/
public void schedulerShutdown();
/**
* 当调度器的调度数据被清除时,调度器调用此方法。
*/
public void schedulingDataCleared();
}
调度器是在调度器的 ListenerManager
注册的。可调度器实际上可以是实现 org.quartz.SchedulerListener
接口。
触发器的操作
- 添加
scheduler.getListenerManager().addSchedulerListener(mySchedListener);
- 移除
scheduler.getListenerManager().removeSchedulerListener(mySchedListener);