package li.task; import li.ioc.Ioc; import org.quartz.Job; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.simpl.SimpleJobFactory; import org.quartz.spi.JobFactory; import org.quartz.spi.TriggerFiredBundle; /** * 在quartz的配置文件中加入org.quartz.scheduler.jobFactory.class=li.task.LiQuartzJobFactory */ public class LiJobFactory implements JobFactory { private static final SimpleJobFactory SIMPLE_JOB_FACTORY = new SimpleJobFactory(); public Job newJob(TriggerFiredBundle triggerFiredBundle, Scheduler scheduler) throws SchedulerException { Job job = Ioc.get(triggerFiredBundle.getJobDetail().getJobClass()); if (null == job) { job = SIMPLE_JOB_FACTORY.newJob(triggerFiredBundle, scheduler); } return job; } }