首先创建SchedulerFactory对象,因为SchedulerFactory是一个接口,一般可以用他的一个实现类
StdSchedulerFactory
ScheDulerFactory scheDulerFactory = new StdSchedulerFactory();
接着是创建JobDetail ;
JobDetail jobDetail = new JobDetail("jobName" , "jobGroup" , Class) ;
分别是任务的名,任务的组,需要执行的任务class,这个class必须是实现quartz.的job接口,接口下的execute方法就是执行的任务,比如
pulbic class mainJbo implements Job{
public void execute(){
dosomething... ;
}
}
那么传入参数的的Class就应该是mainJob.class
接着就需要定义触发器,也就是什么时候触发
CronTrigger trigger = new CronTrigger("jobName" ,"triggerGroup");
trigger.setCronExpression(time);
这里的时间格式是一个字符串,具体的格式可以参考
http://dwj147258.iteye.com/blog/2350795中的时间规则配置
最后启动
Scheduler scheduler = scheDulerFactory.getScheduler();
scheduler.scheduleJob(jobDetail ,trigger);
if(!scheduler.isShutDown()){
scheduler.start();
}
完整的创建任务代码如下:
public void startTask(){ try { Scheduler sched = schedulerFactory.getScheduler(); Class cla = Class.forName(clazzName); JobDetail jobDetail = JobBuilder.newJob(cla).withIdentity(new JobKey(jobName , "TASK_GROUP")).build(); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity(new TriggerKey(jobName, "TRIGGERGROUIP")) .startNow() .withSchedule(CronScheduleBuilder.cronSchedule(timeCron)) .build(); sched.scheduleJob(jobDetail ,trigger) ; if(!sched.isShutdown()){ sched.start() ; } } catch (Exception e) { } }
如果要停止这一个任务调度:
Scheduler scheduler= scheDulerFactory .getScheduler();
sched.pauseTrigger("jobName", triggerGroup);// 停止触发器
sched.unscheduleJob("jobName", triggerGroup);// 移除触发器
sched.deleteJob("jobName", jobGroup);// 删除任务
End
相关推荐
Quartz 1.6.5 使用手册概述 Quartz 是一个功能强大且灵活的开源作业调度框架,广泛应用于各种...通过了解 SchedulerFactory 和 Scheduler 的使用方法,我们可以轻松地创建和管理作业,以满足企业级应用程序的需求。
在使用 Quartz 之前, 必须使用 SchedulerFactory 实例化 Scheduler。实例化 Scheduler 后,可以启动或停止 Scheduler。注意,一旦 Scheduler 关闭,必须重新实例化后方能重启。任务只有在 Scheduler 启动后才会执行...
默认情况下,SimpleTrigger使用`MISFIRE_INSTRUCTION_SMART_POLICY`策略。 - 当SimpleTrigger的重复次数为0时,`MISFIRE_INSTRUCTION_FIRE_NOW`会被解释,即立即执行一次。 - 如果重复次数为`REPEAT_INDEFINITELY`...
标题和描述中提到的主题是关于Quartz任务调度系统的使用培训。Quartz是一个开源的任务调度库,其主要用途是让开发者能够轻松地安排在特定时间或根据特定规则运行代码的任务,也就是作业(Jobs)。Quartz能够与Java...
这篇博客将探讨如何在Tomcat环境下配置和使用Quartz。 首先,我们需要理解Quartz的核心概念。Quartz提供了Job(作业)和Trigger(触发器)两个主要组件。Job代表一个具体的任务,而Trigger则定义了何时执行这个任务...
- 使用`SchedulerFactory`的`getScheduler()`方法获取`Scheduler`实例,并启动调度器。 2. **定义Job类** - 创建一个实现了`org.quartz.Job`接口的类,这个类将代表你要执行的任务。你需要覆盖`execute...
2. 配置Quartz:在应用程序启动时,你需要配置一个`SchedulerFactory`实例,然后通过工厂获取`IScheduler`实例,进行任务调度的初始化。 3. 定义Job和Trigger:创建实现`IJob`接口的类来定义具体要执行的任务,然后...
Quartz 的核心概念包括 Job、SchedulerFactory、JobDetail、CronScheduleBuilder、JobBuilder、TriggerBuilder、JobKey 和 JobExecutionContext。 1. **Job 接口**:在 Quartz 中,你需要实现 `org.quartz.Job` ...
在Android Studio中使用Quartz,可以为应用程序添加定时执行的任务功能,例如定期发送通知、更新数据或者执行后台服务。下面我们将深入探讨如何在Android Studio中集成并使用Quartz。 ### 1. Quartz简介 Quartz是...
- 初始化Scheduler,通过`SchedulerFactory`获取Scheduler实例,并调度Job和Trigger。 3. **使用Quartz在Web环境中的注意事项** - 考虑Web应用的生命周期,Quartz的初始化应在应用启动时进行,停止应在应用关闭时...
使用SchedulerFactory可以完成Scheduler的实例化。用户可以直接实例化这个工厂类,并且直接使用工厂的实例。例如: ``` SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched ...
`org.quartz.Scheduler`是调度器的接口,我们可以使用`SchedulerFactory`来获取Scheduler实例。 接下来,我们将逐步介绍如何配置和使用这些组件: **创建Job** ```java public class MyJob implements Job { @...
内容提要:介绍 Scheduler 和 SchedulerFactory 有哪些类型、SchedulerFactory 的关键 API 方法;以及如何通过 java.util.Properties 实例或默认 quartz.properties 文件创建 Scheduler。 第四章. 部署 Job (第二...
在描述中提到的"内置操作类",通常指的是Quartz.NET中的辅助类,例如`SchedulerFactory`、`JobBuilder`、`TriggerBuilder`等,这些类使得创建和管理调度任务变得非常简单。例如,`SchedulerFactory`可以用来获取`...
然后,我们可以创建一个`@Bean`方法,返回一个`SchedulerFactory`实例,这将被Spring用来创建和管理Quartz Scheduler。 ```java @Configuration @EnableScheduling public class QuartzConfig { @Bean...
在这个实战教程中,我们将学习如何使用Java编程语言和Quartz任务调度库来创建一个任务调度器。任务调度器是软件系统中的重要组成部分,它能够帮助我们自动化执行一系列定期任务,如定时备份、数据清理和定时通知等。...
你可以通过`SchedulerFactory`获取Scheduler实例,然后使用`scheduleJob()`方法将Job和Trigger绑定,从而完成任务的调度。 4. **配置**:Quartz可以通过XML配置文件或代码方式进行配置。XML配置文件(如`quartz....
SchedulerFactory factory = new StdSchedulerFactory(); return factory.getScheduler().start(); } } ``` 3. **定义Job和Trigger** - 定义一个Job类,它需要继承`org.quartz.Job`接口,并实现`execute...
Scheduler通过`SchedulerFactory`获取,Job和Trigger使用`JobDetail`和`Trigger`对象进行实例化。之后,将JobDetail和Trigger绑定到Scheduler,调用`start()`方法启动调度器,Job就会按照Trigger的设定开始执行。 ...