package me.test.first.quartz.a;
import java.util.HashMap;
import me.test.first.quartz.Util;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerContext;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class JobA implements Job {
private Logger log = LoggerFactory.getLogger(JobA.class);
@SuppressWarnings({ "unchecked", "rawtypes" })
public void execute(JobExecutionContext context)
throws JobExecutionException {
// TODO 开始日志
StringBuilder buf = new StringBuilder();
Scheduler scheduler = context.getScheduler();
try {
buf.append("\n Scheduler = " + Util.printScheduler(scheduler));
} catch (SchedulerException e) {
throw new JobExecutionException(e);
}
SchedulerContext schedulerContext = null;
try {
schedulerContext = scheduler.getContext();
} catch (SchedulerException e) {
e.printStackTrace();
}
buf.append("\n Scheduler.schedulerContext = " + new HashMap(schedulerContext));
// 获取 Trigger
Trigger trigger = context.getTrigger();
buf.append("\n Triger = " + Util.printTrigger(trigger));
JobDataMap triggerJobDataMap = trigger.getJobDataMap();
buf.append("\n Triger.jobDataMap = " + new HashMap(triggerJobDataMap));
// 获取JobDetail
JobDetail jobDetail = context.getJobDetail();
buf.append("\n JobDetail = " + Util.printJobDetail(jobDetail));
buf.append("\n JobDetail.jobExecutionContext = " + context);
// 从 JobDataMap 中读取配置信息
JobDataMap jobDetailJobDataMap = jobDetail.getJobDataMap();
buf.append("\n JobDetail.jobDataMap = "
+ new HashMap(jobDetailJobDataMap));
log.info(buf.toString());
// TODO 结束日志
}
}