if (stepBatchStatus.equals(BatchStatus.COMPLETED)) {
for (long id : instanceIds1){ statement.setLong(1, id); statement.setString(2, BatchStatus.STARTED.name()); rs = statement.executeQuery(); while (rs.next()){
stepEx.setBatchStatus(BatchStatus.valueOf(batchstatus)); stepEx.setExitStatus(exitstatus); stepEx.setStepName(stepname);
if (BatchStatus.STOPPING.equals(jobContext.getBatchStatus())) { updateJobBatchStatus(BatchStatus.STOPPED); if (logger.isLoggable(Level.FINE)) { if (jobContext.getBatchStatus().equals(BatchStatus.STOPPING)) { updateJobBatchStatus(BatchStatus.STOPPED); if (logger.isLoggable(Level.FINE)) { if (jobContext.getBatchStatus().equals(BatchStatus.STOPPING)) { updateJobBatchStatus(BatchStatus.STOPPED); if (logger.isLoggable(Level.FINE)) { if (!(curStatus.equals(BatchStatus.FAILED) || curStatus.equals(BatchStatus.STOPPED))) { updateJobBatchStatus(BatchStatus.COMPLETED); logger.fine("No job-level exitStatus set, defaulting to job batch Status = " + jobContext.getBatchStatus()); jobContext.setExitStatus(jobContext.getBatchStatus().name()); logger.fine("No job-level exitStatus set, defaulting to job batch Status = " + jobContext.getBatchStatus()); jobContext.setExitStatus(jobContext.getBatchStatus().name());
if (jobExecutionImpl.getJobContext().getBatchStatus().equals(BatchStatus.STOPPING)){ this.stepContext.setBatchStatus(BatchStatus.STOPPED); break; case ANALYZE_STATUS: analyzerProxy.analyzeStatus(dataWrapper.getBatchstatus().name(), dataWrapper.getExitStatus()); completedPartitions++; break; if (batchStatus.equals(BatchStatus.FAILED)) { if (logger.isLoggable(Level.FINE)) { logger.fine("Subjob " + subJob.getJobExecution().getExecutionId() + "ended with status '" + batchStatus + "'" ); } else if (batchStatus.equals(BatchStatus.STOPPED)) { if (logger.isLoggable(Level.FINE)) { logger.fine("Subjob " + subJob.getJobExecution().getExecutionId() + "ended with status '" + batchStatus + "'" ); if (!!!BatchStatus.FAILED.equals(stepContext.getBatchStatus())) { stepContext.setBatchStatus(BatchStatus.STOPPED);
long jobinstanceID = 0; long stepExecutionID = stepContext.getStepExecutionId(); String batchStatus = stepContext.getBatchStatus().name(); String exitStatus = stepContext.getExitStatus(); String stepName = stepContext.getId();
stepEx.setBatchStatus(BatchStatus.valueOf(batchstatus)); stepEx.setExitStatus(exitstatus); stepEx.setStepName(stepname);
if (stepContext.getBatchStatus().equals(BatchStatus.STOPPING)) { theStatus.setFinished(true);
if (batchStatus.equals(BatchStatus.FAILED)) { if (logger.isLoggable(Level.FINE)) { logger.fine("Subjob " + subJob.getJobExecution().getExecutionId() + "ended with status '" + batchStatus + "'" ); } else if (batchStatus.equals(BatchStatus.STOPPED)){ if (logger.isLoggable(Level.FINE)) { logger.fine("Subjob " + subJob.getJobExecution().getExecutionId() + "ended with status '" + batchStatus + "'" );
case STARTING: JobExecutionHelper.updateBatchStatusUPDATEonly(jobExecution.getExecutionId(), batchStatus.name(), timestamp); break; case STARTED: JobExecutionHelper.updateBatchStatusSTART(jobExecution.getExecutionId(), batchStatus.name(), timestamp); break; case STOPPING: JobExecutionHelper.updateBatchStatusUPDATEonly(jobExecution.getExecutionId(), batchStatus.name(), timestamp); break; case STOPPED: JobExecutionHelper.updateBatchStatusSTOP(jobExecution.getExecutionId(), batchStatus.name(), timestamp); break; case COMPLETED: JobExecutionHelper.updateBatchStatusCOMPLETED(jobExecution.getExecutionId(), batchStatus.name(), timestamp); break; case FAILED: JobExecutionHelper.updateBatchStatusFAILED(jobExecution.getExecutionId(), batchStatus.name(), timestamp); break; default:
if (jobExecutionImpl.getJobContext().getBatchStatus().equals(BatchStatus.STOPPING)){ this.statusStopped(); } else {
@Override public String toString() { StringBuffer buf = new StringBuffer(); buf.append("---------------------------------------------------------------------------------"); //buf.append("getStepName(): " + this.getStepName() + "\n"); buf.append("getJobExecutionId(): " + this.getJobExecutionId() + "\n"); //buf.append("getStepExecutionId(): " + this.getStepExecutionId() + "\n"); //buf.append("getCommitCount(): " + this.getCommitCount() + "\n"); //buf.append("getFilterCount(): " + this.getFilterCount() + "\n"); //buf.append("getProcessSkipCount(): " + this.getProcessSkipCount() + "\n"); //buf.append("getReadCount(): " + this.getReadCount() + "\n"); //buf.append("getReadSkipCount(): " + this.getReadSkipCount() + "\n"); //buf.append("getRollbackCount(): " + this.getRollbackCount() + "\n"); //buf.append("getWriteCount(): " + this.getWriteCount() + "\n"); //buf.append("getWriteSkipCount(): " + this.getWriteSkipCount() + "\n"); buf.append("getStartTime(): " + this.getStartTime() + "\n"); buf.append("getEndTime(): " + this.getEndTime() + "\n"); //buf.append("getLastUpdateTime(): " + this.getLastUpdateTime() + "\n"); buf.append("getBatchStatus(): " + this.getBatchStatus().name() + "\n"); buf.append("getExitStatus(): " + this.getExitStatus()); buf.append("---------------------------------------------------------------------------------"); return buf.toString(); }
private void transitionToFinalStatus() { BatchStatus currentBatchStatus = stepContext.getBatchStatus(); if (currentBatchStatus.equals(BatchStatus.STARTING)) { throw new IllegalStateException("Step batch status should not be in a STARTING state"); } // Transition to "COMPLETED" if (currentBatchStatus.equals(BatchStatus.STARTED)) { if (logger.isLoggable(Level.FINE)) { logger.fine("Transitioning step status to COMPLETED for step: " + step.getId()); } statusCompleted(); // Transition to "STOPPED" } else if (currentBatchStatus.equals(BatchStatus.STOPPING)) { if (logger.isLoggable(Level.FINE)) { logger.fine("Transitioning step status to STOPPED for step: " + step.getId()); } statusStopped(); } }
@Override public BatchStatus getBatchStatus() { BatchStatus batchStatus = null; if (this.jobcontext != null){ batchStatus = this.jobcontext.getBatchStatus(); if (logger.isLoggable(Level.FINE)) { logger.fine("Returning batch status of: " + batchStatus + " from JobContext."); } } else { // old job, retrieve from the backend if (_persistenceManagementService instanceof JDBCPersistenceManagerImpl){ batchStatus = BatchStatus.valueOf(((JDBCPersistenceManagerImpl)_persistenceManagementService).jobOperatorQueryJobExecutionStatus(executionID, JDBCPersistenceManagerImpl.BATCH_STATUS)); } else { throw new UnsupportedOperationException("Only JDBC-based persistence currently supported for this function."); } if (logger.isLoggable(Level.FINE)) { logger.fine("Returning batch status of: " + batchStatus + " from JobContext."); } } return batchStatus; }
@Override public void stop() { if (jobContext.getBatchStatus().equals(BatchStatus.STARTING) || jobContext.getBatchStatus().equals(BatchStatus.STARTED)) { updateJobBatchStatus(BatchStatus.STOPPING); if (this.currentStoppableElementController != null) { this.currentStoppableElementController.stop(); } } else { //TODO do we need to throw an error if the batchlet is already stopping/stopped //a stop gets issued twice } }
public static void createJobExecutionEntry(JobExecution jobEx){ long executionId = jobEx.getExecutionId(); long instanceId = jobEx.getInstanceId(); Timestamp starttime = new Timestamp(0); // no valid value yet Timestamp updatetime = new Timestamp(jobEx.getLastUpdatedTime().getTime()); // what is the arg here? Timestamp endtime = new Timestamp(0); // no valid value yet? Timestamp createtime = new Timestamp(jobEx.getCreateTime().getTime()); Properties jobParameters = jobEx.getJobParameters(); BatchStatus batchStatus = jobEx.getBatchStatus() == null ? BatchStatus.STARTING : jobEx.getBatchStatus(); String exitstatus = jobEx.getExitStatus(); //System.out.println("AJM: props = " + jobParameters.toString()); _persistenceManagementService.jobOperatorCreateExecutionData(executionId, starttime, updatetime, endtime, createtime, jobParameters, instanceId, batchStatus.name(), exitstatus); }
@Override protected void invokePostStepArtifacts() { // Invoke the reducer after all parallel steps are done if (this.partitionReducerProxy != null) { if ((BatchStatus.COMPLETED).equals(stepContext.getBatchStatus())) { this.partitionReducerProxy.afterPartitionedStepCompletion(PartitionStatus.COMMIT); }else { this.partitionReducerProxy.afterPartitionedStepCompletion(PartitionStatus.ROLLBACK); } } } }
public static void updateJobExecutionEntry(JobExecution jobEx){ long executionId = jobEx.getExecutionId(); long instanceId = jobEx.getInstanceId(); Timestamp starttime = new Timestamp(jobEx.getStartTime().getTime()); // what is the arg here? Timestamp updatetime = new Timestamp(jobEx.getLastUpdatedTime().getTime()); // what is the arg here? Timestamp endtime = new Timestamp(jobEx.getEndTime().getTime()); Timestamp createtime = new Timestamp(jobEx.getCreateTime().getTime()); Properties jobParameters = jobEx.getJobParameters(); BatchStatus batchStatus = jobEx.getBatchStatus(); String exitstatus = jobEx.getExitStatus(); _persistenceManagementService.jobOperatorCreateExecutionData(executionId, starttime, updatetime, endtime, createtime, jobParameters, instanceId, batchStatus.name(), exitstatus); }