public String getExitStatus() { return this.jobContext.getExitStatus(); }
public String getExitStatus() { return this.jobContext.getExitStatus(); }
protected String getExitStatus() { return jobExecutionImpl.getJobContext().getExitStatus(); }
public String getCurrentExitStatus() { if (this.jobContext != null){ return this.jobContext.getExitStatus(); } else { exitStatus = _persistenceManagementService.jobOperatorQueryJobExecutionExitStatus(executionID); return exitStatus; } }
@Override public String getExitStatus() { if (this.jobContext != null){ return this.jobContext.getExitStatus(); } else { exitStatus = _persistenceManagementService.jobOperatorQueryJobExecutionExitStatus(executionID); return exitStatus; } }
protected String getExitStatus() { return jobExecutionImpl.getJobContext().getExitStatus(); }
protected void jslStop() { String restartOn = jobContext.getRestartOn(); logger.fine("Logging JSL stop(): exitStatus = " + jobContext.getExitStatus() + ", restartOn = " +restartOn ); batchStatusStopping(); jobStatusService.updateJobStatusFromJSLStop(jobInstanceId, restartOn); return; }
protected void jslStop() { String restartOn = jobContext.getRestartOn(); logger.fine("Logging JSL stop(): exitStatus = " + jobContext.getExitStatus() + ", restartOn = " +restartOn ); batchStatusStopping(); jobStatusService.updateJobStatusFromJSLStop(jobInstanceId, restartOn); return; }
protected void endOfJob() { // 1. Execute the very last artifacts (jobListener) try { jobListenersAfterJob(); } catch (Throwable t) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); t.printStackTrace(pw); logger.warning("Error invoking jobListener.afterJob(). Stack trace: " + sw.toString()); batchStatusFailedFromException(); } // 2. transition to final batch status transitionToFinalBatchStatus(); // 3. default ExitStatus if necessary if (jobContext.getExitStatus() == null) { logger.fine("No job-level exitStatus set, defaulting to job batch Status = " + jobContext.getBatchStatus()); jobContext.setExitStatus(jobContext.getBatchStatus().name()); } // 4. persist statuses and end time data logger.fine("Job complete for job id=" + jobExecution.getJobInstance().getJobName() + ", executionId=" + jobExecution.getExecutionId() + ", batchStatus=" + jobContext.getBatchStatus() + ", exitStatus=" + jobContext.getExitStatus()); persistJobBatchAndExitStatus(); }
protected void endOfJob() { // 1. Execute the very last artifacts (jobListener) try { jobListenersAfterJob(); } catch (Throwable t) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); t.printStackTrace(pw); logger.warning("Error invoking jobListener.afterJob(). Stack trace: " + sw.toString()); batchStatusFailedFromException(); } // 2. transition to final batch status transitionToFinalBatchStatus(); // 3. default ExitStatus if necessary if (jobContext.getExitStatus() == null) { logger.fine("No job-level exitStatus set, defaulting to job batch Status = " + jobContext.getBatchStatus()); jobContext.setExitStatus(jobContext.getBatchStatus().name()); } // 4. persist statuses and end time data logger.fine("Job complete for job id=" + jobExecution.getJobInstance().getJobName() + ", executionId=" + jobExecution.getExecutionId() + ", batchStatus=" + jobContext.getBatchStatus() + ", exitStatus=" + jobContext.getExitStatus()); persistJobBatchAndExitStatus(); }
private void persistJobBatchAndExitStatus() { BatchStatus batchStatus = jobContext.getBatchStatus(); // Take a current timestamp for last updated no matter what the status. long time = System.currentTimeMillis(); Timestamp timestamp = new Timestamp(time); jobExecution.setLastUpdateTime(timestamp); // Perhaps these should be coordinated in a tran but probably better still would be // rethinking the table design to let the database provide us consistently with a single update. jobStatusService.updateJobBatchStatus(jobInstanceId, batchStatus); jobStatusService.updateJobExecutionStatus(jobExecution.getInstanceId(), jobContext.getBatchStatus(), jobContext.getExitStatus()); if (batchStatus.equals(BatchStatus.COMPLETED) || batchStatus.equals(BatchStatus.STOPPED) || batchStatus.equals(BatchStatus.FAILED)) { jobExecution.setEndTime(timestamp); persistenceService.updateWithFinalExecutionStatusesAndTimestamps(jobExecution.getExecutionId(), batchStatus, jobContext.getExitStatus(), timestamp); } else { throw new IllegalStateException("Not expected to encounter batchStatus of " + batchStatus +" at this point. Aborting."); } }
private void persistJobBatchAndExitStatus() { BatchStatus batchStatus = jobContext.getBatchStatus(); // Take a current timestamp for last updated no matter what the status. long time = System.currentTimeMillis(); Timestamp timestamp = new Timestamp(time); jobExecution.setLastUpdateTime(timestamp); // Perhaps these should be coordinated in a tran but probably better still would be // rethinking the table design to let the database provide us consistently with a single update. jobStatusService.updateJobBatchStatus(jobInstanceId, batchStatus); jobStatusService.updateJobExecutionStatus(jobExecution.getInstanceId(), jobContext.getBatchStatus(), jobContext.getExitStatus()); if (batchStatus.equals(BatchStatus.COMPLETED) || batchStatus.equals(BatchStatus.STOPPED) || batchStatus.equals(BatchStatus.FAILED)) { jobExecution.setEndTime(timestamp); persistenceService.updateWithFinalExecutionStatusesAndTimestamps(jobExecution.getExecutionId(), batchStatus, jobContext.getExitStatus(), timestamp); } else { throw new IllegalStateException("Not expected to encounter batchStatus of " + batchStatus +" at this point. Aborting."); } }