public int stopAll() { Collection<JobExecution> result = jobExecutionDao.getRunningJobExecutions(); for (JobExecution jobExecution : result) { jobExecution.stop(); jobRepository.update(jobExecution); } return result.size(); }
public Collection<JobExecution> listJobExecutionsForJob(String jobName, int start, int count) throws NoSuchJobException { checkJobExists(jobName); List<JobExecution> jobExecutions = jobExecutionDao.getJobExecutions(jobName, start, count); for (JobExecution jobExecution : jobExecutions) { stepExecutionDao.addStepExecutions(jobExecution); } return jobExecutions; }
public Collection<JobExecution> getJobExecutionsForJobInstance(String name, Long jobInstanceId) throws NoSuchJobException { checkJobExists(name); List<JobExecution> jobExecutions = jobExecutionDao.findJobExecutions(jobInstanceDao.getJobInstance(jobInstanceId)); for (JobExecution jobExecution : jobExecutions) { stepExecutionDao.addStepExecutions(jobExecution); } return jobExecutions; }
public JobExecution getJobExecution(Long jobExecutionId) throws NoSuchJobExecutionException { JobExecution jobExecution = jobExecutionDao.getJobExecution(jobExecutionId); if (jobExecution == null) { throw new NoSuchJobExecutionException("There is no JobExecution with id=" + jobExecutionId); } jobExecution.setJobInstance(jobInstanceDao.getJobInstance(jobExecution)); try { jobExecution.setExecutionContext(executionContextDao.getExecutionContext(jobExecution)); } catch (Exception e) { logger.info("Cannot load execution context for job execution: " + jobExecution); } stepExecutionDao.addStepExecutions(jobExecution); return jobExecution; }
public Collection<StepExecution> getStepExecutions(Long jobExecutionId) throws NoSuchJobExecutionException { JobExecution jobExecution = jobExecutionDao.getJobExecution(jobExecutionId); if (jobExecution == null) { throw new NoSuchJobExecutionException("No JobExecution with id=" + jobExecutionId); } stepExecutionDao.addStepExecutions(jobExecution); String jobName = jobExecution.getJobInstance() == null ? null : jobExecution.getJobInstance().getJobName(); Collection<String> missingStepNames = new LinkedHashSet<String>(); if (jobName != null) { missingStepNames.addAll( stepExecutionDao.findStepNamesForJobExecution(jobName, "*:partition*")); logger.debug("Found step executions in repository: " + missingStepNames); } Job job = null; try { job = jobLocator.getJob(jobName); } catch (NoSuchJobException e) { // expected } if (job instanceof StepLocator) { Collection<String> stepNames = ((StepLocator) job).getStepNames(); missingStepNames.addAll(stepNames); logger.debug("Added step executions from job: " + missingStepNames); } for (StepExecution stepExecution : jobExecution.getStepExecutions()) { String stepName = stepExecution.getStepName(); if (missingStepNames.contains(stepName)) { missingStepNames.remove(stepName); } logger.debug("Removed step executions from job execution: " + missingStepNames); } for (String stepName : missingStepNames) { StepExecution stepExecution = jobExecution.createStepExecution(stepName); stepExecution.setStatus(BatchStatus.UNKNOWN); } return jobExecution.getStepExecutions(); }
public int countJobExecutionsForJob(String name) throws NoSuchJobException { checkJobExists(name); return jobExecutionDao.countJobExecutions(name); }
public int countJobExecutions() { return jobExecutionDao.countJobExecutions(); }
public Collection<JobExecution> listJobExecutions(int start, int count) { return jobExecutionDao.getJobExecutions(start, count); }