Class 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
    • 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