/*
* <p> 描述: </p>
*
* <p> Create Date: 12-5-14 下午1:41 <p>
*
* @author madbluesky
* @version 1.0
*/
import org.quartz.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class MyTrigger extends SimpleTrigger {
@Override
public void triggered(org.quartz.Calendar arg0) {
if (super.getPreviousFireTime() == null) {
super.setPreviousFireTime(time);
}
super.triggered(arg0);
super.setNextFireTime(this.calculateNextFireTime(super.getPreviousFireTime()));
}
@Override
public Date computeFirstFireTime(org.quartz.Calendar arg0) {
return nextTimeCalendar.getTime();
}
}
触发器触发时会调用triggered方法,在triggered可以设置下次的触发时间。computeFirstFireTime是schedule在启动时会调用的计算触发器第一次触发的时间,重写此两个方法可以实现自己的触发策略,这只是最简单的方式。还有许多方面值得研究学习