⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schedulerutil.java.svn-base

📁 一个timesheet程序,用来统计开发人员的度量衡web在线程序.用于软件行业
💻 SVN-BASE
字号:
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);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -