public BatchStatus getBatchStatus() { return this.jobContext.getBatchStatus(); }
public BatchStatus getBatchStatus() { return this.jobContext.getBatchStatus(); }
protected BatchStatus getBatchStatus() { return jobExecutionImpl.getJobContext().getBatchStatus(); }
protected BatchStatus getBatchStatus() { return jobExecutionImpl.getJobContext().getBatchStatus(); }
@Override public void stop() { if (jobContext.getBatchStatus().equals(BatchStatus.STARTING) || jobContext.getBatchStatus().equals(BatchStatus.STARTED)) { batchStatusStopping(); IController stoppableElementController = transitioner.getCurrentStoppableElementController(); if (stoppableElementController != null) { stoppableElementController.stop(); } } else { logger.info("Stop ignored since batch status for job is already set to: " + jobContext.getBatchStatus()); } }
public BatchStatus getCurrentBatchStatus() { BatchStatus batchStatusEnum = null; if (this.jobContext != null){ batchStatusEnum = this.jobContext.getBatchStatus(); logger.finest("Returning batch status of: " + batchStatus + " from JobContext."); } else { // old job, retrieve from the backend batchStatusEnum = BatchStatus.valueOf(_persistenceManagementService.jobOperatorQueryJobExecutionBatchStatus(executionID)); logger.finest("Returning batch status of: " + batchStatus + " from JobContext."); } return batchStatusEnum; }
@Override public void stop() { if (jobContext.getBatchStatus().equals(BatchStatus.STARTED) || jobContext.getBatchStatus().equals(BatchStatus.STARTING)) { batchStatusStopping(); if(transitioner != null) { IController stoppableElementController = transitioner.getCurrentStoppableElementController(); if (stoppableElementController != null) { stoppableElementController.stop(); } } } else { logger.info("Stop ignored since batch status for job is already set to: " + jobContext.getBatchStatus()); } }
@Override public BatchStatus getBatchStatus() { BatchStatus batchStatus = null; if (this.jobContext != null){ batchStatus = this.jobContext.getBatchStatus(); logger.finest("Returning batch status of: " + batchStatus + " from JobContext."); } else { // old job, retrieve from the backend batchStatus = BatchStatus.valueOf(_persistenceManagementService.jobOperatorQueryJobExecutionBatchStatus(executionID)); logger.finest("Returning batch status of: " + batchStatus + " from JobContext."); } return batchStatus; }
protected synchronized boolean wasStopIssued() { // Might only be set to stopping at the job level. Use the lock for this object on this // method along with the stop() method if (jobExecutionImpl.getJobContext().getBatchStatus().equals(BatchStatus.STOPPING)){ stepContext.setBatchStatus(BatchStatus.STOPPING); return true; } else { return false; } } @Override
protected synchronized boolean wasStopIssued() { // Might only be set to stopping at the job level. Use the lock for this object on this // method along with the stop() method if (jobExecutionImpl.getJobContext().getBatchStatus().equals(BatchStatus.STOPPING)){ stepContext.setBatchStatus(BatchStatus.STOPPING); return true; } else { return false; } } @Override
@Override public ExecutionStatus execute() { if (!jobContext.getBatchStatus().equals(BatchStatus.STOPPING)) { transitioner = new ExecutionTransitioner(jobExecution, rootJobExecutionId, flowNavigator); return transitioner.doExecutionLoop(); } else { return new ExecutionStatus(ExtendedBatchStatus.JOB_OPERATOR_STOPPING); } }
@Override public ExecutionStatus execute() { if (!jobContext.getBatchStatus().equals(BatchStatus.STOPPING)) { transitioner = new ExecutionTransitioner(jobExecution, rootJobExecutionId, flowNavigator); return transitioner.doExecutionLoop(); } else { return new ExecutionStatus(ExtendedBatchStatus.JOB_OPERATOR_STOPPING); } }
/** * The only valid states at this point are STARTED or STOPPING. Shouldn't have * been able to get to COMPLETED, STOPPED, or FAILED at this point in the code. */ private void transitionToFinalBatchStatus() { BatchStatus currentBatchStatus = jobContext.getBatchStatus(); if (currentBatchStatus.equals(BatchStatus.STARTED)) { updateJobBatchStatus(BatchStatus.COMPLETED); } else if (currentBatchStatus.equals(BatchStatus.STOPPING)) { updateJobBatchStatus(BatchStatus.STOPPED); } else if (currentBatchStatus.equals(BatchStatus.FAILED)) { updateJobBatchStatus(BatchStatus.FAILED); // Should have already been done but maybe better for possible code refactoring to have it here. } else { throw new IllegalStateException("Step batch status should not be in a " + currentBatchStatus.name() + " state"); } }
public static RuntimeFlowInSplitExecution startFlowInSplit(JSLJob jobModel) throws JobStartException{ logger.entering(CLASSNAME, "startFlowInSplit", jobModel); ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, null, false); JobContextImpl jobContext = getJobContext(jobNavigator); JobInstance jobInstance = getNewSubJobInstance(jobNavigator.getRootModelElement().getId()); RuntimeFlowInSplitExecution executionHelper = _persistenceManagementService.createFlowInSplitExecution(jobInstance, jobContext.getBatchStatus()); executionHelper.prepareForExecution(jobContext); JobStatus jobStatus = createNewJobStatus(jobInstance); _jobStatusManagerService.updateJobStatus(jobStatus); logger.exiting(CLASSNAME, "startFlowInSplit", executionHelper); return executionHelper; }
public static RuntimeJobExecution startPartition(JSLJob jobModel, Properties jobParameters) throws JobStartException{ logger.entering(CLASSNAME, "startPartition", new Object[]{jobModel, jobParameters ==null ? "<null>" :jobParameters}); ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, jobParameters, true); JobContextImpl jobContext = getJobContext(jobNavigator); JobInstance jobInstance = getNewSubJobInstance(jobNavigator.getRootModelElement().getId()); RuntimeJobExecution executionHelper = _persistenceManagementService.createJobExecution(jobInstance, jobParameters, jobContext.getBatchStatus()); executionHelper.prepareForExecution(jobContext); JobStatus jobStatus = createNewJobStatus(jobInstance); _jobStatusManagerService.updateJobStatus(jobStatus); logger.exiting(CLASSNAME, "startPartition", executionHelper); return executionHelper; }
public static RuntimeFlowInSplitExecution startFlowInSplit(JSLJob jobModel) throws JobStartException{ logger.entering(CLASSNAME, "startFlowInSplit", jobModel); ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, null, true); JobContextImpl jobContext = getJobContext(jobNavigator); JobInstance jobInstance = getNewSubJobInstance(jobNavigator.getRootModelElement().getId()); RuntimeFlowInSplitExecution executionHelper = _persistenceManagementService.createFlowInSplitExecution(jobInstance, jobContext.getBatchStatus()); executionHelper.prepareForExecution(jobContext); JobStatus jobStatus = createNewJobStatus(jobInstance); _jobStatusManagerService.updateJobStatus(jobStatus); logger.exiting(CLASSNAME, "startFlowInSplit", executionHelper); return executionHelper; }
public static RuntimeJobExecution startPartition(JSLJob jobModel, Properties jobParameters) throws JobStartException{ logger.entering(CLASSNAME, "startPartition", new Object[]{jobModel, jobParameters ==null ? "<null>" :jobParameters}); ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, jobParameters, true); JobContextImpl jobContext = getJobContext(jobNavigator); JobInstance jobInstance = getNewSubJobInstance(jobNavigator.getRootModelElement().getId()); RuntimeJobExecution executionHelper = _persistenceManagementService.createJobExecution(jobInstance, jobParameters, jobContext.getBatchStatus()); executionHelper.prepareForExecution(jobContext); JobStatus jobStatus = createNewJobStatus(jobInstance); _jobStatusManagerService.updateJobStatus(jobStatus); logger.exiting(CLASSNAME, "startPartition", executionHelper); return executionHelper; }
public static RuntimeFlowInSplitExecution restartFlowInSplit(long execId, JSLJob gennedJobModel) throws JobRestartException, JobExecutionAlreadyCompleteException, JobExecutionNotMostRecentException, NoSuchJobExecutionException { long jobInstanceId = _persistenceManagementService.getJobInstanceIdByExecutionId(execId); JobStatus jobStatus = _jobStatusManagerService.getJobStatus(jobInstanceId); validateJobExecutionIsMostRecent(jobInstanceId, execId); // In particular, don't ensure that job hasn't been completed, since we always restart // split-flows. JobInstanceImpl jobInstance = jobStatus.getJobInstance(); ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(gennedJobModel, null, false); JobContextImpl jobContext = getJobContext(jobNavigator); RuntimeFlowInSplitExecution executionHelper = _persistenceManagementService.createFlowInSplitExecution(jobInstance, jobContext.getBatchStatus()); executionHelper.prepareForExecution(jobContext, jobStatus.getRestartOn()); _jobStatusManagerService.updateJobStatusWithNewExecution(jobInstance.getInstanceId(), executionHelper.getExecutionId()); return executionHelper; }
public static RuntimeJobExecution startJob(String jobXML, Properties jobParameters) throws JobStartException { logger.entering(CLASSNAME, "startJob", new Object[]{jobXML, jobParameters==null ? "<null>" : jobParameters}); JSLJob jobModel = ModelResolverFactory.createJobResolver().resolveModel(jobXML); ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, jobParameters, false); JobContextImpl jobContext = getJobContext(jobNavigator); JobInstance jobInstance = getNewJobInstance(jobNavigator.getRootModelElement().getId(), jobXML); RuntimeJobExecution executionHelper = _persistenceManagementService.createJobExecution(jobInstance, jobParameters, jobContext.getBatchStatus()); executionHelper.prepareForExecution(jobContext); JobStatus jobStatus = createNewJobStatus(jobInstance); _jobStatusManagerService.updateJobStatus(jobStatus); logger.exiting(CLASSNAME, "startJob", executionHelper); return executionHelper; }
public static RuntimeJobExecution startJob(String jobXML, Properties jobParameters) throws JobStartException { logger.entering(CLASSNAME, "startJob", new Object[]{jobXML, jobParameters==null ? "<null>" : jobParameters}); JSLJob jobModel = ModelResolverFactory.createJobResolver().resolveModel(jobXML); ModelNavigator<JSLJob> jobNavigator = getResolvedJobNavigator(jobModel, jobParameters, false); JobContextImpl jobContext = getJobContext(jobNavigator); JobInstance jobInstance = getNewJobInstance(jobNavigator.getRootModelElement().getId(), jobXML); RuntimeJobExecution executionHelper = _persistenceManagementService.createJobExecution(jobInstance, jobParameters, jobContext.getBatchStatus()); executionHelper.prepareForExecution(jobContext); JobStatus jobStatus = createNewJobStatus(jobInstance); _jobStatusManagerService.updateJobStatus(jobStatus); logger.exiting(CLASSNAME, "startJob", executionHelper); return executionHelper; }