C# Class Summer.Batch.Core.Step.Tasklet.SystemCommandTasklet

ITaskletthat executes a system command. The system command is executed asynchronously using injected ITaskExecutor - timeout value is required to be set, so that the batch job does not hang forever if the external process hangs. Tasklet periodically checks for termination status (i.e. Command finished its execution or timeout expired or job was interrupted). The check interval is given by TerminationCheckInterval. When job interrupt is detected tasklet's execution is terminated immediately by throwing JobInterruptedException. NOTE : InterruptOnCancel is not being supported for now.
Inheritance: Summer.Batch.Core.Listener.StepExecutionListenerSupport, IStoppableTasklet, IInitializationPostOperations
显示文件 Open project: SummerBatch/SummerBatch Class Usage Examples

Protected Properties

Property Type Description
Logger Logger

Public Methods

Method Description
AfterPropertiesSet ( ) : void

@see IInitializationPostOperations#AfterPropertiesSet.

BeforeStep ( StepExecution stepExecution ) : void

@see IStepExecutionListener#BeforeStep.

Execute ( StepContribution contribution, Scope chunkContext ) : RepeatStatus

Execute system command and map its exit code to ExitStatus using SystemProcessExitCodeMapper.

Stop ( ) : void

IStoppableTasklet#Stop.

Private Methods

Method Description
CheckStoppingState ( Summer.Batch.Core.Scope.Context.ChunkContext chunkContext ) : void
ExecuteCommand ( ) : int

Wraps command execution into system process call.

HandleCompletion ( StepContribution contribution, Task systemCommandTask ) : RepeatStatus

Method Details

AfterPropertiesSet() public method

@see IInitializationPostOperations#AfterPropertiesSet.
public AfterPropertiesSet ( ) : void
return void

BeforeStep() public method

@see IStepExecutionListener#BeforeStep.
public BeforeStep ( StepExecution stepExecution ) : void
stepExecution StepExecution
return void

Execute() public method

Execute system command and map its exit code to ExitStatus using SystemProcessExitCodeMapper.
public Execute ( StepContribution contribution, Scope chunkContext ) : RepeatStatus
contribution StepContribution
chunkContext Scope
return RepeatStatus

Stop() public method

IStoppableTasklet#Stop.
public Stop ( ) : void
return void

Property Details

Logger protected_oe static_oe property

Logger.
protected static Logger Logger
return Logger