Quartz自定义trigger触发器
程序员文章站
2024-02-24 20:08:22
...
/* * <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在启动时会调用的计算触发器第一次触发的时间,重写此两个方法可以实现自己的触发策略,这只是最简单的方式。还有许多方面值得研究学习