/**
*
*/
package net.agef.jobexchange.services.internal;
import net.agef.jobexchange.application.JobWorker;
import org.chenillekit.quartz.services.JobSchedulingBundle;
import org.quartz.CronTrigger;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.Trigger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author agef
*
*/
public class JobOfferOnlineStateCheckBundle implements JobSchedulingBundle
{
private final Logger logger = LoggerFactory.getLogger(JobOfferOnlineStateCheckBundle.class);
private Trigger trigger;
private JobDetail jobDetail;
private final JobOfferOnlineStateCheck importer;
private JobWorker jw;
public JobOfferOnlineStateCheckBundle(JobOfferOnlineStateCheck importer, JobWorker jw)
{
this.importer = importer;
this.jw = jw;
createBundle();
}
private void createBundle()
{
try
{
System.out.println("Quartz Service creates job Bundle ....");
trigger = new CronTrigger("JobOfferOnlineStateCheckTrigger", "CronTriggerGroup", "0 0 1 * * ?"); //30 * * * * ? //0 0 1 * * ?
JobDataMap jobDataMap = new JobDataMap();
jobDataMap.put("importer", importer);
jobDataMap.put("jobWorker", this.jw);
trigger.setJobDataMap(jobDataMap);
jobDetail = new JobDetail("JobOfferOnlineStateCheck", null, JobOfferOnlineStateCheckImpl.class);
jobDetail.setJobDataMap(jobDataMap);
logger.info("created JobOfferOnlineStateCheck for {}", ((CronTrigger) trigger).getCronExpression());
}
catch (java.text.ParseException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public String getSchedulerId()
{
return null;
}
public JobDetail getJobDetail()
{
return jobDetail;
}
public Trigger getTrigger()
{
return trigger;
}
}