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, setMeterRegistry, setName, setObservationConvention, setObservationRegistry, 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:
-