Class JobStep

  • All Implemented Interfaces:
    Step, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean

    public class JobStep
    extends AbstractStep
    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
    • Constructor Detail

      • JobStep

        public JobStep()
    • Method Detail

      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws java.lang.Exception
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Overrides:
        afterPropertiesSet in class AbstractStep
        Throws:
        java.lang.Exception
      • setJob

        public void setJob​(Job job)
        The Job to delegate to in this step.
        Parameters:
        job - a Job
      • doExecute

        protected void doExecute​(StepExecution stepExecution)
                          throws java.lang.Exception
        Execute the job provided by delegating to the JobLauncher to prevent duplicate executions. The job parameters will be generated by the JobParametersExtractor provided (if any), otherwise empty. On a restart, the job parameters will be the same as the last (failed) execution.
        Specified by:
        doExecute in class AbstractStep
        Parameters:
        stepExecution - the current step context
        Throws:
        java.lang.Exception - checked exception thrown by implementation
        See Also:
        AbstractStep.doExecute(StepExecution)