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 resource provided is loaded as an application context with the current context as its parent, and 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 can be used to check if 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 some factories to the set that will be used to load contexts and jobs.
      Parameters:
      applicationContextFactory - the ApplicationContextFactory values to use
    • setApplicationContextFactories

      public void setApplicationContextFactories(ApplicationContextFactory[] applicationContextFactories)
      Add some factories to the set that will be used to load contexts and jobs.
      Parameters:
      applicationContextFactories - the ApplicationContextFactory values to use
    • setJobLoader

      public void setJobLoader(JobLoader jobLoader)
      The job loader that will be 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 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 if 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