`
dwj147258
  • 浏览: 187571 次
  • 性别: 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

 

分享到:
评论

相关推荐

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

    详解scheduler过时策略,因为最近项目需要,在网上找了好久,没找到,所以自己总结了下,供大家分享!

    Quartz 开发指南 中文版

    Quartz 开发指南 中文版 1. 第一课:使用Quartz 2. 第二课:Jobs And Triggers ...10. 第十课: Configuration, Resource 使用及SchedulerFactory 11. 第十一课: 高级(企业级)特性 12. 第十二课: 其他特性

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

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

    Quartz最全开发手册(中文版)

    10. 第十课: Configuration, Resource 使用及SchedulerFactory 11. 第十一课: 高级(企业级)特性 12. 第十二课: 其他特性 常见问题 一般问题 • Quartz是什么? • 为什么不使用java.util.Timer? • 如何build ...

    Java定时任务详解

    定时任务在项目中经常会使用到,本文主要根据博主自己使用定时的经验分如下几点介绍定时任务:1、Quartz定时任务简介及Spring配置Quartz定时任务;2、SchedulerFactory对定时任务进行增删改查

Global site tag (gtag.js) - Google Analytics