Package 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 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
  Description
  `AutomaticJobRegistrar()`

- ## Method Summary

  Modifier and Type
  Method
  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(Runnable callback)`

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

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

- ## 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:
      - `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(Runnable callback)
    Specified by:
      `stop` in interface `org.springframework.context.SmartLifecycle`