Schedule a job using Quartz

import org.apache.log4j.Logger;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.Scheduler;
import org.quartz.impl.StdSchedulerFactory;

import com.ef.monitoring.FeedUpdaterTasklet;

public class FeedBackEmailScheduler implements Job {

private static Logger logger = Logger.getLogger(FeedBackEmailScheduler.class);

private static Scheduler scheduler;

public static void start() throws Exception {

scheduler = StdSchedulerFactory.getDefaultScheduler();

JobDetail jobDetail = new JobDetail("FeedBackEmailScheduler", Scheduler.DEFAULT_GROUP,
FeedBackEmailScheduler.class);

// Run job at each day 10.30 AM and 6.30 PM
CronTrigger cTrigger = new CronTrigger("FeedBackEmailScheduler", "MCC", "0 30 10,18 1/1 * ? *");

scheduler.scheduleJob(jobDetail, cTrigger);

scheduler.start();
}

public void execute(JobExecutionContext context) {
try {
FeedUpdaterTasklet feedUpdaterTasklet = (FeedUpdaterTasklet) SpringApplicationContextProvider
.getBean("feedUpdaterTasklet", FeedUpdaterTasklet.class);
feedUpdaterTasklet.run();
} catch (Exception e) {
logger.error("Error while monitoring the products", e);
}
}

public static void shutdown() {
try {
if (scheduler != null) {
scheduler.shutdown();
}
} catch (Exception ignore) {
}
}
}