Quartz学习研究(一):一个最基本的Quartz项目(附项目源代码)

1、前言
研究了一段时间的quartz,有了一些成果,一直从最简单的quartz示例、与spring集成、集群环境部署、动态quartz实现,并在此将成果分享,帮助入手不久的新朋友。
2、首先初始化一个任务Job,也就是具体要做的业务(本次是在控制台打印出HelloWorld和当前时间)。

[java]  view plain copy
  1. package com.telek;  
  2.   
  3. import java.util.Date;  
  4.   
  5. import org.quartz.Job;  
  6. import org.quartz.JobExecutionContext;  
  7. import org.quartz.JobExecutionException;  
  8.   
  9. /** 
  10.  * Description:具体业务代码 
  11.  * HelloWorld.java Create on 2012-11-23 上午9:28:31  
  12.  * @author 张景 
  13.  * @version 1.0 
  14.  * Copyright (c) 2012 telek. All Rights Reserved. 
  15.  */  
  16. public class HelloWorld implements Job {  
  17.   
  18.     @Override  
  19.     public void execute(JobExecutionContext context)  
  20.             throws JobExecutionException {  
  21.         System.out.println("Hello World : " + new Date());  
  22.     }  
  23.   
  24. }  

3、然后写一个测试类,其中包含了调度器scheduler的实例化、具体任务JobDetail的实例化、添加触发器、任务与触发器部署到调度器上、调度器启动。

[java]  view plain copy
  1. package com.telek;  
  2.   
  3. import java.text.ParseException;  
  4.   
  5. import org.quartz.CronTrigger;  
  6. import org.quartz.JobDetail;  
  7. import org.quartz.Scheduler;  
  8. import org.quartz.SchedulerException;  
  9. import org.quartz.impl.StdSchedulerFactory;  
  10.   
  11. /** 
  12.  * Description:利用调度器部署一个简单的HelloWorld作业 
  13.  * StartQuartz.java Create on 2012-11-23 上午9:29:16  
  14.  * @author 张景 
  15.  * @version 1.0 
  16.  * Copyright (c) 2012 telek. All Rights Reserved. 
  17.  */  
  18. public class StartQuartz {  
  19.   
  20.     public static void main(String[] args) throws ParseException {  
  21.         StartQuartz startQuartz = new StartQuartz();  
  22.         try {  
  23.             Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();  
  24.             startQuartz.scheduleJob(scheduler);  
  25.             scheduler.start();  
  26.         } catch (SchedulerException e) {  
  27.             e.printStackTrace();  
  28.         }  
  29.     }  
  30.   
  31.     /** 
  32.      * Description:用scheduler部署具体业务与触发器 
  33.      * Date:2012-11-23 
  34.      * @author 张景 
  35.      * @param @param scheduler 
  36.      * @param @throws SchedulerException 
  37.      * @param @throws ParseException 
  38.      * @return void 
  39.      */  
  40.     private void scheduleJob(Scheduler scheduler) throws SchedulerException,  
  41.             ParseException {  
  42.         // 实例化一个具体任务  
  43.         JobDetail jobDetail = new JobDetail("HelloWorld",Scheduler.DEFAULT_GROUP, HelloWorld.class);  
  44.         // 为这个任务添加触发器  
  45.         CronTrigger trigger = new CronTrigger("CronTriggerName","CronTriggerGroup""0/6 * * * * ?");  
  46.         // 将具体任务和触发器部署到调度器scheduler上  
  47.         scheduler.scheduleJob(jobDetail, trigger);  
  48.     }  
  49.   
  50. }  

4、本次将任务、触发器及其部署封装在一个schedulerJob方法中,运行本项目只需导入附件中的web项目,运行StartQuartz类即可。
5、运行结果为每分钟的6秒倍数在控制台输出:helloWorld和当前的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值