SchedulerListeners

调度器很像触发监听器(TriggerListeners)和工作监听器(JobListeners),除非它们接收到调度程序本身中的事件通知——不一定是与特定触发器或作业相关的事件。

与调度相关的事件包括:添加作业/触发器、删除作业/触发器、调度程序中的严重错误、调度程序被关闭的通知等。

SchedulerListeners 接口

  [java]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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 接口。

触发器的操作

  • 添加
  [java]
1
scheduler.getListenerManager().addSchedulerListener(mySchedListener);
  • 移除
  [java]
1
scheduler.getListenerManager().removeSchedulerListener(mySchedListener);

导航目录

导航目录