schedulerListener
在我们的监听器实现类中,这个类中需实现的方法很多,不需要的可以给出空实现,下面是一些常用的用法:
方法 | 说明 |
---|---|
jobScheduled() | Scheduler 在有新的 JobDetail 部署时调用此方法。 |
jobUnscheduled() | Scheduler 在有新的 JobDetail卸载时调用此方法 |
triggerFinalized() | 当一个 Trigger 来到了再也不会触发的状态时调用这个方法。除非这个 Job 已设置成了持久性,否则它就会从 Scheduler 中移除。 |
triggersPaused() | Scheduler 调用这个方法是发生在一个 Trigger 或 Trigger 组被暂停时。假如是 Trigger 组的话,triggerName 参数将为 null。 |
triggersResumed() | Scheduler 调用这个方法是发生成一个 Trigger 或 Trigger 组从暂停中恢复时。假如是 Trigger 组的话,triggerName 参数将为 null。 |
jobsPaused() | 当一个或一组 JobDetail 暂停时调用这个方法。 |
jobsResumed() | 当一个或一组 Job 从暂停上恢复时调用这个方法。假如是一个 Job 组,jobName 参数将为 null。 |
schedulerError() | Scheduler 的正常运行期间产生一个严重错误时调用这个方法。错误的类型会各式的,但是下面列举了一些错误例子:初始化 Job 类的问题,试图去找到下一 Trigger 的问题,JobStore 中重复的问题,数据存储连接的问题。我们可以使用 SchedulerException 的 getErrorCode() 或者 getUnderlyingException() 方法或获取到特定错误的更详尽的信息。 |
schedulerShutdown() | Scheduler 调用这个方法用来通知 SchedulerListener Scheduler 将要被关闭。 |
1.x版本配置
下面是一个1.+版本实例配置:
package tool.job;
import org.quartz.JobDetail;
import org.quartz.SchedulerException;
import org.quartz.SchedulerListener;
import org.quartz.Trigger;
public class MySchedulerListener implements SchedulerListener {
@Override
public void jobScheduled(Trigger trigger) {
System.out.println("任务被部署时被执行");
}
@Override
public void triggerFinalized(Trigger trigger) {
System.out.println("任务完成了它的使命,光荣退休时被执行");
}
@Override
public void jobAdded(JobDetail jobDetail) {
System.out.println("一个新的任务被动态添加时执行");
}
@Override
public void jobUnscheduled(String triggerName, String triggerGroup) {
System.out.println("任务被卸载时被执行");
}
@Override
public void triggersPaused(String triggerName, String triggerGroup) {
System.out.println(triggerGroup + "所在组的全部触发器被停止时被执行");
}
@Override
public