/*
* <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在启动时会调用的计算触发器第一次触发的时间,重写此两个方法可以实现自己的触发策略,这只是最简单的方式。还有许多方面值得研究学习
分享到:
相关推荐
这个示例就是关于如何在不重启服务器的情况下,利用Quartz实现自定义配置的更改。 首先,我们需要了解Quartz的基本概念: 1. **Job**:是实际执行的任务,实现了`org.quartz.Job`接口。 2. **Trigger**:定义了任务...
在IT行业中,调度任务是许多系统不可或缺的一部分,用于执行定期或特定时间的任务。...在实际项目中,根据需求可以选择不同的Job存储策略,如RAMJobStore或JDBCJobStore,以及自定义Trigger策略,以满足各种定时场景。
`Trigger`对象包含了任务执行的时间策略,比如简单触发器(SimpleTrigger)、cron触发器(CronTrigger)等。简单触发器允许设置间隔时间执行,而cron触发器则可以按照预定义的cron表达式进行复杂的定时安排。 2. **...
Quartz本身是一个独立的Java库,而Spring通过Spring Quartz模块提供了与Quartz的集成,使得配置和管理作业(Job)和触发器(Trigger)变得更加便捷。 在描述中提到的“动态改变Trigger的参数”,这指的是在任务执行...
2. **Trigger**:触发器,定义了任务何时执行。可以是简单的间隔时间,也可以是复杂的CRON表达式。 3. **Scheduler**:调度器,负责管理Job和Trigger,根据Trigger的设定执行对应的Job。 4. **Calendar**:日历对象...
在"Quartz.net作业调度自定义定时执行任务多任务执行c#"这个主题中,我们将深入探讨如何使用Quartz.NET来实现自定义的定时任务,以及如何处理多任务执行。 首先,我们需要理解Quartz.NET的基本概念。在Quartz.NET中...
Quartz的核心概念包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。下面我们将深入探讨这些概念以及Quartz在实际应用中的用法。 1. Job(任务) Job是Quartz中的基本工作单元,代表需要执行的任务。你...
此外,还可以自定义Trigger监听器,检查当前运行的Job,只有当特定Job组内没有正在执行的任务时,才允许新任务开始。 4. **并行执行**:默认情况下,Quartz允许多个Job并行执行,只要它们不在同一组或满足并行执行...
1. **任务(Job)与触发器(Trigger)**:在Quartz中,任务是需要执行的工作单元,定义了具体的业务逻辑;触发器则决定任务何时启动。常见的触发器类型有简单触发器、cron触发器等,可以按照时间间隔或者自定义的...
Spring框架提供了一种便捷的方式将Quartz集成到应用程序中,通过Spring的JobDetail和Trigger接口,可以轻松地管理Quartz的作业和触发器。此外,Spring的ApplicationContext可以作为Scheduler的上下文,使得Spring...
2. **作业与触发器**:在 Quartz 中,任务被称为“作业”(Job),而触发任务执行的时间条件称为“触发器”(Trigger)。通过组合不同的触发器,可以实现复杂的定时策略。 3. **持久性**:Quartz 支持将作业和触发器...
Quartz支持多种触发器类型,如简单触发器、cron触发器等,以满足不同类型的定时需求。 在`QuartzProjectGovQuery`这个项目中,很可能是演示了如何创建一个查询政府数据的作业,并使用多线程处理查询结果。可能的...
在Quartz 2.2.3版本中,初始化数据库是使用Quartz的关键步骤,因为Quartz依赖于一个持久化存储来保存作业和触发器的信息。这个过程通常涉及执行一系列SQL语句来创建必要的表结构。 Quartz的初始化SQL语句主要用于...
根据文档描述,还需要创建一个自定义的任务触发器表 `t_trigger`。这个表包含了每个任务的 Cron 表达式、状态、任务名称以及任务分组等信息。其中,Cron 表达式用于定义任务的执行周期,例如 `'0/10****?'` 表示每 ...
1. **作业与触发器**:在Quartz中,任务被称为“作业”(Job),而调度时间被称为“触发器”(Trigger)。开发人员可以定义自定义的作业类,这些类实现了`org.quartz.Job`接口,以实现实际的业务逻辑。触发器则定义了...
Quartz的核心概念包括Job(作业)、Trigger(触发器)和Scheduler(调度器)。下面我们将深入探讨这些概念以及它们在实际开发中的应用。 1. **Job**:在Quartz中,Job是执行的具体任务,它是实现了`org.quartz.Job`...
Quartz的核心概念包括Job(作业)、Trigger(触发器)以及Scheduler(调度器)。 1. **Job(作业)**: 在Quartz中,Job是你要执行的任务的抽象。它是一个接口,你需要实现这个接口来创建自己的任务类。Job不包含...
6. **QRTZ_JOB_LISTENERS** 和 **QRTZ_TRIGGER_LISTENERS**:这两个表用于跟踪作业和触发器的监听器,监听器可以在作业执行前后执行自定义逻辑。 7. **QRTZ_calendars**:此表用于存储日历对象,这些对象可以用来...
2. **持久化能力**:Quartz可以将作业和触发器存储在数据库中,即使服务器重启,也能恢复之前的状态,确保任务的连续性。 3. **多线程与集群支持**:Quartz可以在多个线程甚至多台服务器上同时运行,提供高可用性和...
Quartz.NET的核心概念包括Job(工作)、Trigger(触发器)和Scheduler(调度器)。Job是你要执行的实际任务,Trigger定义了何时启动Job,而Scheduler则负责管理和协调这些组件。 1. **Job**: Job是用户自定义的任务...