`
dwj147258
  • 浏览: 194606 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SchedulerFactory使用

阅读更多

  首先创建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 schedulerscheDulerFactory .getScheduler();

            

            sched.pauseTrigger("jobName", triggerGroup);// 停止触发器 

            

            sched.unscheduleJob("jobName", triggerGroup);// 移除触发器 

            

 

            sched.deleteJob("jobName", jobGroup);// 删除任务 

 

End

 

分享到:
评论

相关推荐

    quartz-1.6.5使用手册

    Quartz 1.6.5 使用手册概述 Quartz 是一个功能强大且灵活的开源作业调度框架,广泛应用于各种...通过了解 SchedulerFactory 和 Scheduler 的使用方法,我们可以轻松地创建和管理作业,以满足企业级应用程序的需求。

    Quartz使用详解

    在使用 Quartz 之前, 必须使用 SchedulerFactory 实例化 Scheduler。实例化 Scheduler 后,可以启动或停止 Scheduler。注意,一旦 Scheduler 关闭,必须重新实例化后方能重启。任务只有在 Scheduler 启动后才会执行...

    scheduler任务调度各种触发器和过时处理策略

    默认情况下,SimpleTrigger使用`MISFIRE_INSTRUCTION_SMART_POLICY`策略。 - 当SimpleTrigger的重复次数为0时,`MISFIRE_INSTRUCTION_FIRE_NOW`会被解释,即立即执行一次。 - 如果重复次数为`REPEAT_INDEFINITELY`...

    Quartz(任务调度)使用培训

    标题和描述中提到的主题是关于Quartz任务调度系统的使用培训。Quartz是一个开源的任务调度库,其主要用途是让开发者能够轻松地安排在特定时间或根据特定规则运行代码的任务,也就是作业(Jobs)。Quartz能够与Java...

    quartz在tomcat下配置使用

    这篇博客将探讨如何在Tomcat环境下配置和使用Quartz。 首先,我们需要理解Quartz的核心概念。Quartz提供了Job(作业)和Trigger(触发器)两个主要组件。Job代表一个具体的任务,而Trigger则定义了何时执行这个任务...

    quartz使用实例

    - 使用`SchedulerFactory`的`getScheduler()`方法获取`Scheduler`实例,并启动调度器。 2. **定义Job类** - 创建一个实现了`org.quartz.Job`接口的类,这个类将代表你要执行的任务。你需要覆盖`execute...

    Quartz 定时WebForm和WinForm使用的dll

    2. 配置Quartz:在应用程序启动时,你需要配置一个`SchedulerFactory`实例,然后通过工厂获取`IScheduler`实例,进行任务调度的初始化。 3. 定义Job和Trigger:创建实现`IJob`接口的类来定义具体要执行的任务,然后...

    hava 任务样例

    Quartz 的核心概念包括 Job、SchedulerFactory、JobDetail、CronScheduleBuilder、JobBuilder、TriggerBuilder、JobKey 和 JobExecutionContext。 1. **Job 接口**:在 Quartz 中,你需要实现 `org.quartz.Job` ...

    Android studio下的quartz工程

    在Android Studio中使用Quartz,可以为应用程序添加定时执行的任务功能,例如定期发送通知、更新数据或者执行后台服务。下面我们将深入探讨如何在Android Studio中集成并使用Quartz。 ### 1. Quartz简介 Quartz是...

    Quartz 定时任务web使用

    - 初始化Scheduler,通过`SchedulerFactory`获取Scheduler实例,并调度Job和Trigger。 3. **使用Quartz在Web环境中的注意事项** - 考虑Web应用的生命周期,Quartz的初始化应在应用启动时进行,停止应在应用关闭时...

    Quartz手册java版.doc

    使用SchedulerFactory可以完成Scheduler的实例化。用户可以直接实例化这个工厂类,并且直接使用工厂的实例。例如: ``` SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched ...

    quartz的基本使用,配置job,jobdetail,trigger,Scheduler

    `org.quartz.Scheduler`是调度器的接口,我们可以使用`SchedulerFactory`来获取Scheduler实例。 接下来,我们将逐步介绍如何配置和使用这些组件: **创建Job** ```java public class MyJob implements Job { @...

    Quartz-Job-Scheduling-Framework-中文版-V0.9.1.zip

    内容提要:介绍 Scheduler 和 SchedulerFactory 有哪些类型、SchedulerFactory 的关键 API 方法;以及如何通过 java.util.Properties 实例或默认 quartz.properties 文件创建 Scheduler。 第四章. 部署 Job (第二...

    定时器Quartz.net2.0内置操作类

    在描述中提到的"内置操作类",通常指的是Quartz.NET中的辅助类,例如`SchedulerFactory`、`JobBuilder`、`TriggerBuilder`等,这些类使得创建和管理调度任务变得非常简单。例如,`SchedulerFactory`可以用来获取`...

    quartz 在spring中使用服务定时执行的例子

    然后,我们可以创建一个`@Bean`方法,返回一个`SchedulerFactory`实例,这将被Spring用来创建和管理Quartz Scheduler。 ```java @Configuration @EnableScheduling public class QuartzConfig { @Bean...

    使用Java创建任务调度器 - 一个实战教程

    在这个实战教程中,我们将学习如何使用Java编程语言和Quartz任务调度库来创建一个任务调度器。任务调度器是软件系统中的重要组成部分,它能够帮助我们自动化执行一系列定期任务,如定时备份、数据清理和定时通知等。...

    Quartz使用小结

    你可以通过`SchedulerFactory`获取Scheduler实例,然后使用`scheduleJob()`方法将Job和Trigger绑定,从而完成任务的调度。 4. **配置**:Quartz可以通过XML配置文件或代码方式进行配置。XML配置文件(如`quartz....

    quartz定时任务,在web项目中的使用方法

    SchedulerFactory factory = new StdSchedulerFactory(); return factory.getScheduler().start(); } } ``` 3. **定义Job和Trigger** - 定义一个Job类,它需要继承`org.quartz.Job`接口,并实现`execute...

    Quartz的简单使用用例

    Scheduler通过`SchedulerFactory`获取,Job和Trigger使用`JobDetail`和`Trigger`对象进行实例化。之后,将JobDetail和Trigger绑定到Scheduler,调用`start()`方法启动调度器,Job就会按照Trigger的设定开始执行。 ...

Global site tag (gtag.js) - Google Analytics