package com.nis.quartz; import org.apache.log4j.Logger; import org.quartz.Job; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import com.nis.domain.ScheduleCfg; import com.nis.web.service.ScheduleService; import com.nis.web.service.SpringContextHolder; /** * 定时任务 真正执行类 * 配置状态下发 * 从trigger 的 jobDataMap 中取出 相关数据:compile,isValid * @author fang * */ public class ScheduleStatusJob implements Job{ private static final Logger log = Logger.getLogger(ScheduleStatusJob.class); @Override public void execute(JobExecutionContext context) throws JobExecutionException { //从trigger中 获取 配置信息 JobDataMap jobDataMap = context.getTrigger().getJobDataMap(); boolean isValid = jobDataMap.getBoolean("isValid"); ScheduleCfg cfg = (ScheduleCfg)jobDataMap.get("cfg"); Integer compileId = cfg.getCompileId(); log.debug(String.format("任务开始执行,compileId:%s,isValid:%s",compileId,isValid )); //配置下发,并修改 配置表的状态,保存下发记录等 ScheduleService scheduleService = SpringContextHolder.getBean(ScheduleService.class); scheduleService.issueCompileInfo(cfg, isValid?1:0); log.debug(String.format("任务开始执行,compileId:%s,isValid:%s",compileId,isValid )); } }