in jbatch/src/main/java/org/apache/batchee/container/services/persistence/JDBCPersistenceManagerService.java [972:1012]
public JobStatus getJobStatusFromExecution(final long executionId) {
Connection conn = null;
PreparedStatement statement = null;
ResultSet rs = null;
try {
conn = getConnection();
statement = conn.prepareStatement(dictionary.getFindJobStatus());
statement.setLong(1, executionId);
rs = statement.executeQuery();
if (rs.next()) {
final long jobInstanceId = rs.getLong(dictionary.jobExecutionColumns(8));
final String batchStatus = rs.getString(dictionary.jobExecutionColumns(1));
final byte[] jobXmls = rs.getBytes(dictionary.jobInstanceColumns(4));
final JobInstanceImpl jobInstance;
if (jobXmls != null) {
jobInstance = new JobInstanceImpl(jobInstanceId, new String(jobXmls, UTF_8));
} else {
jobInstance = new JobInstanceImpl(jobInstanceId);
}
jobInstance.setJobName(rs.getString(dictionary.jobInstanceColumns(3)));
final JobStatus status = new JobStatus(jobInstanceId);
status.setExitStatus(rs.getString(dictionary.jobInstanceColumns(2)));
status.setLatestExecutionId(rs.getLong(dictionary.jobInstanceColumns(5)));
status.setRestartOn(rs.getString(dictionary.jobInstanceColumns(6)));
status.setCurrentStepId(rs.getString(dictionary.jobInstanceColumns(7)));
status.setJobInstance(jobInstance);
if (batchStatus != null) {
status.setBatchStatus(BatchStatus.valueOf(batchStatus));
}
return status;
}
return null;
} catch (final Exception e) {
throw new PersistenceException(e);
} finally {
cleanupConnection(conn, rs, statement);
}
}