Quartz自定义trigger触发器

本文详细阐述了如何通过重写Quartz框架中的触发器方法来实现自定义的触发策略,包括触发器触发时的逻辑及首次触发时间的计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值