POPJobStarter.java :  » Forum » JForum-2.1.8 » net » jforum » api » integration » mail » pop » Java Open Source

Java Open Source » Forum » JForum 2.1.8 
JForum 2.1.8 » net » jforum » api » integration » mail » pop » POPJobStarter.java
/*
 * 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;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.