private Map<String, Object> registerJob(String jobName) throws DuplicateJobException { String taskId = jobKeyMap.get(JoinCode.getTaskCode(jobName)).getTaskId(); TaskDefineEntity tm = taskDefineMap.get(taskId); Job job = taskletConfig.job(conf, jobName, tm.getTaskType(), tm.getScriptFile()); ReferenceJobFactory regJob = new ReferenceJobFactory(job); try { jobRegistry.register(regJob); } catch (DuplicateJobException e) { jobRegistry.unregister(jobName); jobRegistry.register(regJob); } logger.debug("register job,job name is :{}", jobName); Map<String, Object> map = new HashMap<>(); map.put("jobName", jobName); map.put("jobLauncher", jobLauncher); map.put("jobRegistry", jobRegistry); map.put("jobKeyStatusService", jobKeyStatusService); map.put("argumentService", argumentService); return map; }
public static void main(String[] args) throws JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException, JobParametersInvalidException, DuplicateJobException { ConfigurableApplicationContext ctx = SpringApplication.run(Application.class, args); Job simpleJob = ctx.getBean("simpleJob", Job.class); JobRegistry jobRegistry = ctx.getBean("jobRegistry", JobRegistry.class); jobRegistry.register(new ReferenceJobFactory(simpleJob)); //JobRepository jobRepository = ctx.getBean("jobRepository", JobRepository.class); //JobInstance jobInstance = jobRepository.createJobInstance("simpleJob", new JobParameters()); // JobParameters jobParameters = ctx.getBean("basicParameters", JobParameters.class); // //JobRegistry jobRegistry = ctx.getBean("mapJobRegistry", JobRegistry.class); // jobRegistry.register(); // jobLauncher.run(job, jobParameters); }