posts - 297,  comments - 1618,  trackbacks - 0
      任务调度框架,它简单、易用。既可在单机J2SE应用中使用,也可在web应用中使用。 

     下载地址:http://www.opensymphony.com/quarz/download.action,quarz现在最新的版本是1.6。

     如果需要在web应用中使用Quartz,只需将quartz-1.6.jar or quartz-all-1.6.jar文件复制到WEB-INF的lib目录下即可。

    一. Quarz的配置文件quartz.properties的介绍

    将该文件放在Wen应用的src目录下,使用举例如下:

    # 配置主调度属性
   org.quartz.scheduler.instanceName = QuartzScheduler
   org.quartz.scheduler.instanceId = AUTO
   # 配置线程池
   org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

   # 配置线程池的线程数量
   org.quartz.threadPool.threadCount = 5

   # 配置线程池里线程的优先级

   org.quartz.threadPool.threadPriority = 5
   # 配置作业存储
   org.quartz.jobStore.misfireThreshold = 60000
   org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

    二. Quarz中的作业使用举例

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.util.*;

public class TestJob implements Job
{
    
    
public void execute(JobExecutionContext context) throws JobExecutionException
    
{
        System.out.println(
new Date() +"    作业调度开始。");
        
for (int i = 0; i < 100 ; i++)
        
{
            System.out.println(
"作业完成" + i + 1 + "%");
        }

        System.out.println(
new Date() +"    作业调度结束。");

    }

}

    三. Quarz里的调度器使用举例
import org.quartz.Scheduler;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.JobDetail;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;

public class MyQuartzServer
{
    
public static void main(String[] args)
    
{
        MyQuartzServer server 
= new MyQuartzServer();
        
try
        
{
            server.startScheduler();
        }

        
catch (SchedulerException ex)
        
{
            ex.printStackTrace(); 
        }

    }

    
    
protected void startScheduler() throws SchedulerException 
    
{
        
//使用工厂创建调度器实例
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); 
        
//以作业创建JobDetail实例
        JobDetail jobDetail = new JobDetail("dd", Scheduler.DEFAULT_GROUP,TestJob.class);
        
//创建trigger
        Trigger trigger = new SimpleTrigger("dd",Scheduler.DEFAULT_GROUP, 5000200) ;
        
//调度器将作业与trigger关联起来
        scheduler.scheduleJob(jobDetail, trigger ); 
        
//开始调度
        scheduler.start();
    }

}


 

posted on 2007-02-22 15:18 阿蜜果 阅读(2742) 评论(7)  编辑  收藏 所属分类: Open Source


FeedBack:
# re: OpenSymphony的Quartz里的作业、调度器使用举例 [未登录]
2007-02-22 17:21 | ant
辛苦了,大过年的,还在辛苦写作。:)  回复  更多评论
  
# re: OpenSymphony的Quartz里的作业、调度器使用举例
2007-02-22 17:23 | 阿蜜果
呵呵,这篇是从我csdn的blog上转过来的,不想出去玩,在家里呆着都快发霉了。。。  回复  更多评论
  
# re: OpenSymphony的Quartz里的作业、调度器使用举例
2007-02-22 17:42 | BeanSoft
呵呵.. 辛苦了, 没事来这里玩  回复  更多评论
  
# re: OpenSymphony的Quartz里的作业、调度器使用举例 [未登录]
2007-02-25 15:19 | mgh001
最近老能看到你的文章,支持一下  回复  更多评论
  
# re: OpenSymphony的Quartz里的作业、调度器使用举例 [未登录]
2007-02-25 15:37 | 阿蜜果
谢谢!嘻嘻  回复  更多评论
  
# re: OpenSymphony的Quartz里的作业、调度器使用举例
2007-02-27 13:11 | 今天不打cs
支持!

听起来Quartz里面的Job, Scheduler好像是jdk自带的Task, Timer的升级版本, :)  回复  更多评论
  
# re: OpenSymphony的Quartz里的作业、调度器使用举例
2007-05-08 17:45 | HCF
你对JDBCJobStore有了解吗? 如果有可不可以具体说说基于数据库的作业调度方式呀? 如何配置quartz.properties 并且如何插入数据到表中,  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

      生活将我们磨圆,是为了让我们滚得更远——“圆”来如此。
      我的作品:
      玩转Axure RP  (2015年12月出版)
      

      Power Designer系统分析与建模实战  (2015年7月出版)
      
     Struts2+Hibernate3+Spring2   (2010年5月出版)
     

留言簿(262)

随笔分类

随笔档案

文章分类

相册

关注blog

积分与排名

  • 积分 - 2280145
  • 排名 - 3

最新评论

阅读排行榜

评论排行榜