Java 定时器之 Quartz:
Biz Class:
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();
}
}