Class AutomaticJobRegistrar

java.lang.Object
org.springframework.batch.core.configuration.support.AutomaticJobRegistrar
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, org.springframework.core.Ordered

public class AutomaticJobRegistrar extends Object implements org.springframework.core.Ordered, org.springframework.context.SmartLifecycle, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
Loads and unloads Jobs when the application context is created and destroyed. Each provided resource is loaded as an application context with the current context as its parent. Then all the jobs from the child context are registered under their bean names. A JobRegistry is required.
Since:
2.1
Author:
Lucas Ward, Dave Syer, Mahmoud Ben Hassine
  • Constructor Details

    • AutomaticJobRegistrar

      public AutomaticJobRegistrar()
  • Method Details

    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
      The enclosing application context, which you can use to check whether events come from the expected source.
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      Parameters:
      applicationContext - the enclosing application context, if there is one
      See Also:
      • ApplicationContextAware.setApplicationContext(ApplicationContext)
    • addApplicationContextFactory

      public void addApplicationContextFactory(ApplicationContextFactory applicationContextFactory)
      Add a single ApplicationContextFactory to the set that is used to load contexts and jobs.
      Parameters:
      applicationContextFactory - the ApplicationContextFactory values to use
    • setApplicationContextFactories

      public void setApplicationContextFactories(ApplicationContextFactory[] applicationContextFactories)
      Add an array of ApplicationContextFactory instances to the set that is used to load contexts and jobs.
      Parameters:
      applicationContextFactories - the ApplicationContextFactory values to use
    • setJobLoader

      public void setJobLoader(JobLoader jobLoader)
      The job loader that is used to load and manage jobs.
      Parameters:
      jobLoader - the JobLoader to set
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • setOrder

      public void setOrder(int order)
      The order in which to start up and shutdown.
      Parameters:
      order - the order (default Ordered.LOWEST_PRECEDENCE).
      See Also:
      • Ordered
    • afterPropertiesSet

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

      public void stop()
      Delegates to JobLoader.clear().
      Specified by:
      stop in interface org.springframework.context.Lifecycle
      See Also:
      • Lifecycle.stop()
    • start

      public void start()
      Take all the contexts from the factories provided and pass them to the JobLoader.
      Specified by:
      start in interface org.springframework.context.Lifecycle
      See Also:
      • Lifecycle.start()
    • isRunning

      public boolean isRunning()
      Check whether this component has been started.
      Specified by:
      isRunning in interface org.springframework.context.Lifecycle
      Returns:
      true if started successfully and not stopped.
      See Also:
      • Lifecycle.isRunning()
    • isAutoStartup

      public boolean isAutoStartup()
      Specified by:
      isAutoStartup in interface org.springframework.context.SmartLifecycle
    • setAutoStartup

      public void setAutoStartup(boolean autoStartup)
      Parameters:
      autoStartup - true for auto start.
      See Also:
    • getPhase

      public int getPhase()
      Specified by:
      getPhase in interface org.springframework.context.Phased
      Specified by:
      getPhase in interface org.springframework.context.SmartLifecycle
    • setPhase

      public void setPhase(int phase)
      Parameters:
      phase - the phase.
      See Also:
    • stop

      public void stop(Runnable callback)
      Specified by:
      stop in interface org.springframework.context.SmartLifecycle