@Override public void execute(JobExecution execution) { execution.setExitStatus(ExitStatus.COMPLETED); return; } };
@Override public void execute(JobExecution execution) { execution.setExitStatus(ExitStatus.COMPLETED); return; } };
@Override public void execute(JobExecution execution) { execution.setExitStatus(ExitStatus.COMPLETED); return; } };
@Override public void setExitStatus(String status) { jobExecution.setExitStatus(new ExitStatus(status)); exitStatusSet.set(true); } }
@Override public void execute(JobExecution execution) { execution.setExitStatus(ExitStatus.FAILED); throw new Error("foo"); } };
@Override public void execute(JobExecution execution) { execution.setExitStatus(ExitStatus.FAILED); throw new RuntimeException("foo"); } };
@Override public JobExecution mapRow(ResultSet rs, int rowNum) throws SQLException { Long id = rs.getLong(1); String jobConfigurationLocation = rs.getString(10); JobExecution jobExecution; if (jobParameters == null) { jobParameters = getJobParameters(id); } if (jobInstance == null) { jobExecution = new JobExecution(id, jobParameters, jobConfigurationLocation); } else { jobExecution = new JobExecution(jobInstance, id, jobParameters, jobConfigurationLocation); } jobExecution.setStartTime(rs.getTimestamp(2)); jobExecution.setEndTime(rs.getTimestamp(3)); jobExecution.setStatus(BatchStatus.valueOf(rs.getString(4))); jobExecution.setExitStatus(new ExitStatus(rs.getString(5), rs.getString(6))); jobExecution.setCreateTime(rs.getTimestamp(7)); jobExecution.setLastUpdated(rs.getTimestamp(8)); jobExecution.setVersion(rs.getInt(9)); return jobExecution; }
@Override protected void setExitStatus(FlowExecutor executor, String code) { StepExecution stepExecution = executor.getStepExecution(); ExitStatus status = new ExitStatus(code); if(!ExitStatus.isNonDefaultExitStatus(status)) { stepExecution.getJobExecution().setExitStatus(status); } } }
@Override public void updateJobExecutionStatus(FlowExecutionStatus status) { JobExecution execution = super.getJobExecution(); execution.setStatus(findBatchStatus(status)); ExitStatus curStatus = execution.getExitStatus(); if(ExitStatus.isNonDefaultExitStatus(curStatus)) { exitStatus = exitStatus.and(new ExitStatus(status.getName())); execution.setExitStatus(exitStatus); } else { exitStatus = exitStatus.and(curStatus); execution.setExitStatus(exitStatus); } } }
execution.setExitStatus(stepExecution.getExitStatus());
@Override public void updateJobExecutionStatus(FlowExecutionStatus status) { execution.setStatus(findBatchStatus(status)); exitStatus = exitStatus.and(new ExitStatus(status.getName())); execution.setExitStatus(exitStatus); }
/** * Resets the {@link JobExecution}'s exit status before aggregating the results of the flows within * the split. * * @param results the {@link FlowExecution}s from each of the flows executed within this split * @param executor the {@link FlowExecutor} used to execute the flows */ @Override protected FlowExecutionStatus doAggregation(Collection<FlowExecution> results, FlowExecutor executor) { List<String> stepNames = new ArrayList<>(); for (Flow curFlow : getFlows()) { JsrFlow flow = (JsrFlow) curFlow; if(flow.getMostRecentStepName() != null) { stepNames.add(flow.getMostRecentStepName()); } } if(!stepNames.isEmpty()) { executor.getJobExecution().getExecutionContext().put("batch.lastSteps", stepNames); } executor.getJobExecution().setExitStatus(null); return super.doAggregation(results, executor); } }
@Before public void setUp() throws Exception { JobExecution jobExecution = new JobExecution(null, new Long(1), null, null); ExitStatus exitStatus = ExitStatus.COMPLETED; jobExecution.setExitStatus(exitStatus); StubJobLauncher.jobExecution = jobExecution; stdin = System.in; System.setIn(new InputStream() { @Override public int read() { return -1; } }); }
@Override public void execute(JobExecution execution) throws UnexpectedJobExecutionException { execution.setStatus(BatchStatus.COMPLETED); execution.setExitStatus(new ExitStatus("CUSTOM")); execution.setEndTime(new Date()); } });
@Transactional @Test public void testUpdateJobExecution() { jobExecution.setStatus(BatchStatus.COMPLETED); jobExecution.setExitStatus(ExitStatus.COMPLETED); jobExecution.setEndTime(new Date(System.currentTimeMillis())); jobExecutionDao.updateJobExecution(jobExecution); List<JobExecution> executions = jobExecutionDao.findJobExecutions(jobInstance); assertEquals(executions.size(), 1); validateJobExecution(jobExecution, executions.get(0)); }
/** * Save and find a job execution. */ @Transactional @Test public void testSaveAndFind() { execution.setStartTime(new Date(System.currentTimeMillis())); execution.setLastUpdated(new Date(System.currentTimeMillis())); execution.setExitStatus(ExitStatus.UNKNOWN); execution.setEndTime(new Date(System.currentTimeMillis())); dao.saveJobExecution(execution); List<JobExecution> executions = dao.findJobExecutions(jobInstance); assertEquals(1, executions.size()); assertEquals(execution, executions.get(0)); assertExecutionsAreEqual(execution, executions.get(0)); }
@Transactional @Test public void testUpdateJobExecutionWithLongExitCode() { assertTrue(LONG_STRING.length() > 250); ((JdbcJobExecutionDao) jobExecutionDao).setExitMessageLength(250); jobExecution.setExitStatus(ExitStatus.COMPLETED .addExitDescription(LONG_STRING)); jobExecutionDao.updateJobExecution(jobExecution); List<Map<String, Object>> executions = jdbcTemplate.queryForList( "SELECT * FROM BATCH_JOB_EXECUTION where JOB_INSTANCE_ID=?", jobInstance.getId()); assertEquals(1, executions.size()); assertEquals(LONG_STRING.substring(0, 250), executions.get(0) .get("EXIT_MESSAGE")); }
@Test public void testExitStatus() { context.setExitStatus("my exit status"); verify(execution).setExitStatus(new ExitStatus("my exit status")); when(execution.getExitStatus()).thenReturn(new ExitStatus("exit")); assertEquals("exit", context.getExitStatus()); }
/** * Test method for * {@link org.springframework.batch.core.JobExecution#getExitStatus()}. */ @Test public void testGetExitCode() { assertEquals(ExitStatus.UNKNOWN, execution.getExitStatus()); execution.setExitStatus(new ExitStatus("23")); assertEquals("23", execution.getExitStatus().getExitCode()); }
@Before public void setUp() throws Exception { JobInstance instance = new JobInstance(2L, "job name"); JobParameters params = new JobParametersBuilder().addString("key1", "value1").toJobParameters(); org.springframework.batch.core.JobExecution execution = new org.springframework.batch.core.JobExecution(instance, params); execution.setId(5L); execution.setCreateTime(new Date(0)); execution.setEndTime(new Date(999999999L)); execution.setExitStatus(new ExitStatus("exit status")); execution.setLastUpdated(new Date(12345)); execution.setStartTime(new Date(98765)); execution.setStatus(BatchStatus.FAILED); execution.setVersion(21); adapter = new JsrJobExecution(execution, new JobParametersConverterSupport()); }