String jobName = jobCtx.getJobDetail().getName();
log.info("start job [{}]", jobName);
Map jobData = jobCtx.getJobDetail().getJobDataMap();
// init context
MgnlContext.setInstance(new SimpleContext(MgnlContext.getSystemContext()));
String catalogName = (String) jobData.get(SchedulerConsts.CONFIG_JOB_COMMAND_CATALOG);
String cmdName = (String) jobData.get(SchedulerConsts.CONFIG_JOB_COMMAND);
Command cmd = CommandsManager.getInstance().getCommand(catalogName, cmdName);
if (cmd == null)
{
log.error("can't find command {} for job in catalog {}", cmdName, catalogName);
return;
}
Context ctx = new SimpleContext();
// copy data, else the jobs context could get manipluated by the commands
ctx.putAll((Map) jobData.get(SchedulerConsts.CONFIG_JOB_PARAMS));
JobDefinition jd = null;
try
{
jd = jobDefinitionManager.getJobDefinitionByName(jobName);