[JAVA]定时任务之-Quartz使用篇

上一篇 / 下一篇  2014-06-10 15:09:03 / 个人分类:配置

分类:Java106人阅读评论(0)收藏举报

目录(?)[+]

   Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个, 甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。官方网站:http://www.opensymphony.com/quartz

 

相关Jar:
   quartz-all-1.6.0.jar
   jta.jar
   commons-logging-1.1.jar
   commons-collections3.2.jar

 

经过封装的管理类:

 

  1. /** 
  2.  * 版权所有:华信软件 
  3.  * 项目名称:公用模块 
  4.  * 创建者: Wangdf 
  5.  * 创建日期: 2011-1-22 
  6.  * 文件说明: 定时任务管理类 
  7.  * 最近修改者:Wangdf 
  8.  * 最近修改日期:2011-1-22 
  9.  */  
  10. package com.extjweb.quartz;  
  11.   
  12. import java.text.ParseException;  
  13.   
  14. import org.quartz.CronTrigger;  
  15. import org.quartz.JobDetail;  
  16. import org.quartz.Scheduler;  
  17. import org.quartz.SchedulerException;  
  18. import org.quartz.SchedulerFactory;  
  19. import org.quartz.impl.StdSchedulerFactory;  
  20.   
  21. /** 
  22.  * 定时任务管理类 
  23.  * 
  24.  * @author 王德封 
  25.  */  
  26. public class QuartzManager {  
  27.     private static SchedulerFactory gSchedulerFactory = new StdSchedulerFactory();  
  28.     private static String JOB_GROUP_NAME = "EXTJWEB_JOBGROUP_NAME";  
  29.     private static String TRIGGER_GROUP_NAME = "EXTJWEB_TRIGGERGROUP_NAME";  
  30.   
  31.     /** 
  32.      * 添加一个定时任务,使用默认的任务组名,触发器名,触发器组名 
  33.      * 
  34.      * @param jobName 
  35.      *            任务名 
  36.      * @param jobClass 
  37.      *            任务 
  38.      * @param time 
  39.      *            时间设置,参考quartz说明文档 
  40.      * @throws SchedulerException 
  41.      * @throws ParseException 
  42.      */  
  43.     public static void addJob(String jobName, String jobClass, String time) {  
  44.         try {  
  45.             Scheduler sched = gSchedulerFactory.getScheduler();  
  46.             JobDetail jobDetail = new JobDetail(jobName, JOB_GROUP_NAME, Class.forName(jobClass));// 任务名,任务组,任务执行类  
  47.             // 触发器  
  48.             CronTrigger trigger = new CronTrigger(jobName, TRIGGER_GROUP_NAME);// 触发器名,触发器组  
  49.             trigger.setCronExpression(time);// 触发器时间设定  
  50.             sched.scheduleJob(jobDetail, trigger);  
  51.             // 启动  
  52.             if (!sched.isShutdown()){  
  53.                 sched.start();  
  54.             }  
  55.         } catch (Exception e) {  
  56.             e.printStackTrace();  
  57.             throw new RuntimeException(e);  
  58.         }  
  59.     }  
  60.   
  61.     /** 
  62.      * 添加一个定时任务 
  63.      * 
  64.      * @param jobName 
  65.      *            任务名 
  66.      * @param jobGroupName 
  67.      *            任务组名 
  68.      * @param triggerName 
  69.      *            触发器名 
  70.      * @param triggerGroupName 
  71.      *            触发器组名 
  72.      * @param jobClass 
  73.      *            任务 
  74.      * @param time 
  75.      *            时间设置,参考quartz说明文档 
  76.      * @throws SchedulerException 
  77.      * @throws ParseException 
  78.      */  
  79.     public static void addJob(String jobName, String jobGroupName,  
  80.             String triggerName, String triggerGroupName, String jobClass, String time){  
  81.         try {  
  82.             Scheduler sched = gSchedulerFactory.getScheduler();  
  83.             JobDetail jobDetail = new JobDetail(jobName, jobGroupName, Class.forName(jobClass));// 任务名,任务组,任务执行类  
  84.             // 触发器  
  85.             CronTrigger trigger = new CronTrigger(triggerName, triggerGroupName);// 触发器名,触发器组  
  86.             trigger.setCronExpression(time);// 触发器时间设定  
  87.             sched.scheduleJob(jobDetail, trigger);  
  88.         } catch (Exception e) {  
  89.             e.printStackTrace();  
  90.             throw new RuntimeException(e);  
  91.         }  
  92.     }  
  93.   
  94.     /** 
  95.      * 修改一个任务的触发时间(使用默认的任务组名,触发器名,触发器组名) 
  96.      * 
  97.      * @param jobName 
  98.      * @param time 
  99.      */  
  100.     public static void modifyJobTime(String jobName, String time) {  

TAG: quartz Quartz

 

评分:0

我来说两句

Open Toolbar