日期:2014-05-18  浏览次数:20629 次

如何在一個普通的web項目中配置一個quartz的作業調度
我知道spring中對quartz的支持比較好,我这里只是一个普通的java web项目,采用最原始的servlet和jsp,我想在这里面加一个quartz的作业调度,每天晚上12.00的时候把数据库里面的东西全部汇总一下,但以前从来没有接触过这个,各位大虾帮帮忙啊。我的问题是:怎么把quartz配到web项目中,我要做的事情已经写在了一个java文件中,请问这个java文件需要注意点什么东西。


比如说这样的一个java文件:
public class ja{
 public static void main(String args[]){
  System.out.println("Hello World!");
 }
}

------解决方案--------------------
Java code
package com.syj;

import java.text.ParseException;
import java.util.Date;

import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;

/**
 * <p>
 * Title: Quartz小demo
 * </p>
 *
 *
 * @author 孙钰佳
 * @main sunyujia@yahoo.cn
 * @blog http://blog.csdn.net/sunyujia/
 * @date Oct 29, 2008 7:41:01 PM
 */
class Test {

    public Scheduler createScheduler() throws Exception {
        SchedulerFactory sf = new StdSchedulerFactory("Quartz.properties");
        Scheduler scheduler = sf.getScheduler();
        scheduler.scheduleJob(createJobDetail(), createCronTrigger());
        return scheduler;
    }

    private JobDetail createJobDetail() {
        JobDetail job = new JobDetail(DemoJob.class.getName(),
                Scheduler.DEFAULT_GROUP, DemoJob.class);
        return job;
    }

    private CronTrigger createCronTrigger() throws ParseException {
        CronTrigger trigger = new org.quartz.CronTrigger("DEFAULT", null);
        trigger.setJobName(DemoJob.class.getName());
        trigger.setCronExpression(" 0/5 * * * * ? ");
        return trigger;
    }
}

public class DemoJob implements Job {
    public static void main(String[] args) throws Exception {
        Test test = new Test();
        test.createScheduler().start();
    }

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        System.out.println("demo output :" + new Date());
    }

}