?? schedulerutil.java.svn-base
字號(hào):
package com.nsi.scheduling;
import java.text.ParseException;
import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
/**
* @author Chris Ye, created on Oct 10, 2008
*
* SchedulerUtil
*/
public final class SchedulerUtil
{
private static Log log = LogFactory.getLog(SchedulerUtil.class);
/**
* private constructor of SchedulerUtil, prevent instantiation
*/
private SchedulerUtil()
{
}
private static class SchedulerUtilHolder
{
static final SchedulerUtil schedulerUtil = new SchedulerUtil();
}
/**
* @return an instance of SchedulerUtil
*/
public static SchedulerUtil getInstance()
{
return SchedulerUtilHolder.schedulerUtil;
}
public Scheduler getScheduler()
{
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = null;
try
{
scheduler = factory.getScheduler();
}
catch(SchedulerException schec)
{
log.error("getScheduler() caught SchedulerException : ", schec);
}
return scheduler;
}
public void runScheduler(Scheduler scheduler, String settings, String classname, Class<? extends Job> clazz )
{
try
{
if(scheduler != null)
{
log.debug("before prepare jobs, settings is ++++" + settings + "++++");
prepareJobs(scheduler, settings, classname, clazz);
scheduler.start();
}
log.info("runScheduler() -- started");
}
catch(SchedulerException schec)
{
log.error("getScheduler() caught SchedulerException : ", schec);
}
}
public void prepareJobs(Scheduler scheduler, String settings, String classname, Class<? extends Job> clazz)
{
JobDetail jobdetail = new JobDetail(classname, "batchgroup", clazz);
try
{
log.debug(" settings is ++++" + settings + "++++");
// CronTrigger trigger = new CronTrigger(classname, "batchgroup", classname, "batchgroup", settings);
CronTrigger trigger = new CronTrigger(classname, "batchgroup", classname, "batchgroup", "0 0 10 ? * SUN");
scheduler.addJob(jobdetail, true);
Date ft = scheduler.scheduleJob(trigger);
log.debug(jobdetail.getFullName() + " has been scheduled to run at: " + ft + " and repeat based on expression: " + trigger.getCronExpression());
}
catch(SchedulerException es)
{
log.error("prepareJobs() -- caught SchedulerException: ", es);
}
catch(ParseException ep)
{
log.error("prepareJobs() -- caught ParseException: ", ep);
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -