Quartz of Cron Job 使用

Java 定时器之 Quartz:


package com.wx.email.cronjob;

import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;

import com.wx.email.smtp.EmailNewsBiz;

/**
 * @Class name:	CronJobScheduler.java
 *
 * Short description on the purpose of the program.
 *
 * @author:		wangxiang
 * @modified:	Jan 7, 2011
 *
 */

public class CronJobScheduler {
	
	private static final long serialVersionUID = -5838740332643296770L;
	
	private static CronJobScheduler cronJobSCheduler;
	
	public static CronJobScheduler getCronJobSchedulerInstance() {
		if (null == cronJobSCheduler) {
			cronJobSCheduler = new CronJobScheduler();
		}
		return cronJobSCheduler;
	}
	
	private Scheduler scheduler = null;

	public void initCronJobScheduler() {
		try {
			scheduler = StdSchedulerFactory.getDefaultScheduler();
			scheduler.start();
			
			JobDetail job = new JobDetail("job1", Scheduler.DEFAULT_GROUP, EmailNewsBiz.class);
			
			String qz = DefaultSCProperties.getPropertyAsString("email.scheduler.quartz", "0 0 1 * * ?");
			CronTrigger trigger = new CronTrigger("trigger1", Scheduler.DEFAULT_GROUP, qz);
				
			scheduler.scheduleJob(job, trigger);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void destroyCronJobScheduler() {
		try {
			if (scheduler != null)
				scheduler.shutdown();
		} catch (SchedulerException e) {
			e.printStackTrace();
		}
		
	}
}



Biz Class:
public class EmailNewsBiz implements Job {

public void execute(JobExecutionContext arg0) throws JobExecutionException {
		sendMailNews();
	}
}

你可能感兴趣的:(java,quartz)