java.lang.Object
org.springframework.batch.core.configuration.support.DefaultJobLoader
All Implemented Interfaces:
JobLoader, org.springframework.beans.factory.InitializingBean

public class DefaultJobLoader extends Object implements JobLoader, org.springframework.beans.factory.InitializingBean
Default implementation of JobLoader. Uses a JobRegistry to manage a population of loaded jobs and clears them up when asked. An optional StepRegistry might also be set to register the step(s) available for each registered job.
Author:
Dave Syer, Stephane Nicoll, Mahmoud Ben Hassine
  • Constructor Details

    • DefaultJobLoader

      public DefaultJobLoader()
      Default constructor. Useful for declarative configuration.
    • DefaultJobLoader

      public DefaultJobLoader(JobRegistry jobRegistry)
      Creates a job loader with the job registry provided.
      Parameters:
      jobRegistry - a JobRegistry
    • DefaultJobLoader

      public DefaultJobLoader(JobRegistry jobRegistry, @Nullable StepRegistry stepRegistry)
      Creates a job loader with the job and step registries provided.
      Parameters:
      jobRegistry - a JobRegistry
      stepRegistry - a StepRegistry (can be null)
  • Method Details

    • setJobRegistry

      public void setJobRegistry(JobRegistry jobRegistry)
      The JobRegistry to use for jobs created.
      Parameters:
      jobRegistry - the job registry
    • setStepRegistry

      public void setStepRegistry(StepRegistry stepRegistry)
      The StepRegistry to use for the steps of created jobs.
      Parameters:
      stepRegistry - the step registry
    • clear

      public void clear()
      Unregister all the jobs and close all the contexts created by this loader.
      Specified by:
      clear in interface JobLoader
      See Also:
    • reload

      public Collection<Job> reload(ApplicationContextFactory factory)
      Description copied from interface: JobLoader
      Load an application context and register all the jobs, having first unregistered them if already registered. Implementations should also close and clean up the application context previously created (either from this factory or from one with the same jobs), if possible.
      Specified by:
      reload in interface JobLoader
      Parameters:
      factory - a factory for an application context (containing jobs)
      Returns:
      a collection of the jobs created
    • load

      Description copied from interface: JobLoader
      Load an application context and register all the jobs.
      Specified by:
      load in interface JobLoader
      Parameters:
      factory - a factory for an application context (containing jobs)
      Returns:
      a collection of the jobs created
      Throws:
      DuplicateJobException - if a job with the same name was already registered
    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean