@Test(expected = JobInstanceAlreadyExistsException.class) public void startExistingInstanceThrows() throws Exception { when(jobRepository.isJobInstanceExists(JOB_NAME, params)).thenReturn(true); batchOperator.start(JOB_NAME, null); }
@ResponseStatus(HttpStatus.CONFLICT) @ExceptionHandler({UnexpectedJobExecutionException.class, JobInstanceAlreadyExistsException.class, JobInstanceAlreadyCompleteException.class}) public String handleAlreadyExists(Exception ex) { LOG.warn("JobInstance or JobExecution already exists.",ex); return ex.getMessage(); }
/** * Batch Job을 시작한다. * @param jobName : Job 이름 * @param jobParameters: String 형태의 Job 파라미터들 * @return Long: JobExecution의 ID * @throws NoSuchJobException * @throws JobParametersInvalidException * @throws JobInstanceAlreadyExistsException */ public Long start(String jobName, String jobParameters) throws NoSuchJobException, JobParametersInvalidException, JobInstanceAlreadyExistsException { return jobOperator.start(jobName, jobParameters); }