org.springframework.batch.core.configuration.support

## 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 java.lang.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

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.core.Ordered

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

    - ### Fields inherited from interface org.springframework.context.SmartLifecycle

      `DEFAULT_PHASE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AutomaticJobRegistrar()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addApplicationContextFactory(ApplicationContextFactory applicationContextFactory)` Add some factories to the set that will be used to load contexts and jobs.
    `void` | `afterPropertiesSet()`
    `int` | `getOrder()`
    `int` | `getPhase()`
    `boolean` | `isAutoStartup()`
    `boolean` | `isRunning()` Check if this component has been started.
    `void` | `setApplicationContext(org.springframework.context.ApplicationContext applicationContext)` The enclosing application context, which can be used to check if `events` come from the expected source.
    `void` | `setApplicationContextFactories(ApplicationContextFactory[] applicationContextFactories)` Add some factories to the set that will be used to load contexts and jobs.
    `void` | `setAutoStartup(boolean autoStartup)`
    `void` | `setJobLoader(JobLoader jobLoader)` The job loader that will be used to load and manage jobs.
    `void` | `setOrder(int order)` The order to start up and shutdown.
    `void` | `setPhase(int phase)`
    `void` | `start()` Take all the contexts from the factories provided and pass them to the `JobLoader`.
    `void` | `stop()` Delegates to `JobLoader.clear()`.
    `void` | `stop(java.lang.Runnable callback)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AutomaticJobRegistrar

          public AutomaticJobRegistrar()

  - ### Method Detail

    - #### 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:
        `isAutoStartup()`

    - #### 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:
        `getPhase()`

    - #### stop

          public void stop(java.lang.Runnable callback)

      Specified by:
        `stop` in interface `org.springframework.context.SmartLifecycle`