分享

OpenSymphony的Quartz里的作业、调度器使用举例

 昵称21365845 2015-08-19
 任务调度框架,它简单、易用。既可在单机J2SE应用中使用,也可在web应用中使用。 

     下载地址:http://www./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 阿蜜果 阅读(2083) 评论(7)  编辑  收藏 所属分类: Open Source

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多