/* * Created on 09/10/2006 21:30:35 */ package net.jforum.api.integration.mail.pop; import java.text.ParseException; import net.jforum.util.preferences.ConfigKeys; import net.jforum.util.preferences.SystemGlobals; import org.apache.log4j.Logger; import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.Trigger; import org.quartz.impl.StdSchedulerFactory; /** * @author Rafael Steil * @version $Id: POPJobStarter.java,v 1.1 2006/10/10 00:40:53 rafaelsteil Exp $ */ public class POPJobStarter { private static boolean isStarted; private static Scheduler scheduler; private static Logger logger = Logger.getLogger(POPJobStarter.class); public static void startJob() throws SchedulerException { boolean isEnabled = SystemGlobals.getBoolValue(ConfigKeys.MAIL_POP3_INTEGRATION_ENABLED); if (!isStarted && isEnabled) { String filename = SystemGlobals.getValue(ConfigKeys.QUARTZ_CONFIG); String cronExpression = SystemGlobals.getValue("org.quartz.context.mailintegration.cron.expression"); scheduler = new StdSchedulerFactory(filename).getScheduler(); Trigger trigger = null; try { trigger = new CronTrigger(POPListener.class.getName(), "pop3Integration", cronExpression); logger.info("Starting POP3 integration expression " + cronExpression); scheduler.scheduleJob(new JobDetail(POPListener.class.getName(), "pop3Integration", POPListener.class),trigger); scheduler.start(); } catch (ParseException e) { e.printStackTrace(); } } isStarted = true; } }