欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Quartz自定义trigger触发器  

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