package com;

import org.quartz.SchedulerException;
import org.quartz.SchedulerListener;
import org.quartz.Trigger;


/** *//**
* 實現自己的Scheduler監聽器
*
* @author zdw
*
*/
public class MySchedulerListener implements SchedulerListener


{

/** *//**
* 當一個JobDetail被scheduler的時候執行
*/
public void jobScheduled(Trigger trigger)

{
System.out.println("jobSchedulerd fire:" + trigger.getName());
}


/** *//**
* 當一個JobDetail被排除在scheduler之外的時候執行
*/
public void jobUnscheduled(String triggerName, String triggerGroup)

{
System.out.println("jobUnschedulerd fire:" + triggerName + " ,"
+ triggerGroup);
}


/** *//**
* 當Trigger被暫停的時候執行
*/
public void jobsPaused(String triggerName, String triggerGroup)

{
System.out.println("jobPaused fire:" + triggerName + " ,"
+ triggerGroup);
}


/** *//**
* 當Trigger被解除暫停的時候執行
*/
public void jobsResumed(String triggerName, String triggerGroup)

{
System.out.println("jobResumed fire:" + triggerName + " ,"
+ triggerGroup);
}


/** *//**
* 當scheduler發生嚴重錯誤的時候執行
*/
public void schedulerError(String msg, SchedulerException cause)

{
System.out.println("scheduler錯誤,具體消息為:" + msg);
System.out.println(cause.getMessage());
}


/** *//**
* 當scheduler被關閉的時候執行
*/
public void schedulerShutdown()

{
System.out.println("scheduler shutdown");
}


/** *//**
* 調用scheduler,當trigger到達一定條件的時候,scheduler就永遠不會再fire
*/
public void triggerFinalized(Trigger arg0)

{
System.out.println("trigger finalized");
}


/** *//**
* 當trigger或trigger所在的組被暫停的時候執行
*/
public void triggersPaused(String triggerName, String triggerGroup)

{
System.out.println("trigger paused");
}


/** *//**
* 當trigger被解除暫停的時候被執行
*/
public void triggersResumed(String triggerName, String triggerGroup)

{
System.out.println("trigger resume");
}

}

調用部分:
sched.addSchedulerListener(new MySchedulerListener());
一個簡單的SchedulerListener就寫完了,在這里你可以完成自己的邏輯與控制.