Class JobStep
java.lang.Object
org.springframework.batch.core.step.AbstractStep
org.springframework.batch.core.step.job.JobStep
- All Implemented Interfaces:
Step
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.InitializingBean
A
Step
that delegates to a Job
to do its work. This is a
great tool for managing dependencies between jobs, and also to modularise
complex step logic into something that is testable in isolation. The job is
executed with parameters that can be extracted from the step execution, hence
this step can also be usefully used as the worker in a parallel or
partitioned execution.- Author:
- Dave Syer
-
Field Summary
Fields inherited from interface org.springframework.batch.core.Step
STEP_TYPE_KEY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
doExecute
(StepExecution stepExecution) Execute the job provided by delegating to theJobLauncher
to prevent duplicate executions.void
TheJob
to delegate to in this step.void
setJobLauncher
(JobLauncher jobLauncher) AJobLauncher
is required to be able to run the enclosedJob
.void
setJobParametersExtractor
(JobParametersExtractor jobParametersExtractor) TheJobParametersExtractor
is used to extractJobParametersExtractor
from theStepExecution
to run theJob
.Methods inherited from class org.springframework.batch.core.step.AbstractStep
close, doExecutionRegistration, doExecutionRelease, execute, getCompositeListener, getJobRepository, getName, getStartLimit, isAllowStartIfComplete, open, registerStepExecutionListener, setAllowStartIfComplete, setBeanName, setJobRepository, setName, setStartLimit, setStepExecutionListeners, toString
-
Constructor Details
-
JobStep
public JobStep()
-
-
Method Details
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Overrides:
afterPropertiesSet
in classAbstractStep
- Throws:
Exception
-
setJob
TheJob
to delegate to in this step.- Parameters:
job
- aJob
-
setJobLauncher
AJobLauncher
is required to be able to run the enclosedJob
.- Parameters:
jobLauncher
- theJobLauncher
to set
-
setJobParametersExtractor
TheJobParametersExtractor
is used to extractJobParametersExtractor
from theStepExecution
to run theJob
. By default an instance will be provided that simply copies theJobParameters
from the parent job.- Parameters:
jobParametersExtractor
- theJobParametersExtractor
to set
-
doExecute
Execute the job provided by delegating to theJobLauncher
to prevent duplicate executions. The job parameters will be generated by theJobParametersExtractor
provided (if any), otherwise empty. On a restart, the job parameters will be the same as the last (failed) execution.- Specified by:
doExecute
in classAbstractStep
- Parameters:
stepExecution
- the current step context- Throws:
Exception
- checked exception thrown by implementation- See Also:
-