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
-
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addApplicationContextFactory
(ApplicationContextFactory applicationContextFactory) Add a singleApplicationContextFactory
to the set that is used to load contexts and jobs.void
int
getOrder()
int
getPhase()
boolean
boolean
Check whether this component has been started.void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) The enclosing application context, which you can use to check whetherevents
come from the expected source.void
setApplicationContextFactories
(ApplicationContextFactory[] applicationContextFactories) Add an array ofApplicationContextFactory
instances to the set that is used to load contexts and jobs.void
setAutoStartup
(boolean autoStartup) void
setJobLoader
(JobLoader jobLoader) The job loader that is used to load and manage jobs.void
setOrder
(int order) The order in which to start up and shutdown.void
setPhase
(int phase) void
start()
Take all the contexts from the factories provided and pass them to theJobLoader
.void
stop()
Delegates toJobLoader.clear()
.void
-
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 whetherevents
come from the expected source.- Specified by:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
- Parameters:
applicationContext
- the enclosing application context, if there is one- See Also:
-
ApplicationContextAware.setApplicationContext(ApplicationContext)
-
addApplicationContextFactory
Add a singleApplicationContextFactory
to the set that is used to load contexts and jobs.- Parameters:
applicationContextFactory
- theApplicationContextFactory
values to use
-
setApplicationContextFactories
Add an array ofApplicationContextFactory
instances to the set that is used to load contexts and jobs.- Parameters:
applicationContextFactories
- theApplicationContextFactory
values to use
-
setJobLoader
The job loader that is used to load and manage jobs.- Parameters:
jobLoader
- theJobLoader
to set
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
-
setOrder
public void setOrder(int order) The order in which to start up and shutdown.- Parameters:
order
- the order (defaultOrdered.LOWEST_PRECEDENCE
).- See Also:
-
Ordered
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
stop
public void stop()Delegates toJobLoader.clear()
.- Specified by:
stop
in interfaceorg.springframework.context.Lifecycle
- See Also:
-
Lifecycle.stop()
-
start
public void start()Take all the contexts from the factories provided and pass them to theJobLoader
.- Specified by:
start
in interfaceorg.springframework.context.Lifecycle
- See Also:
-
Lifecycle.start()
-
isRunning
public boolean isRunning()Check whether this component has been started.- Specified by:
isRunning
in interfaceorg.springframework.context.Lifecycle
- Returns:
true
if started successfully and not stopped.- See Also:
-
Lifecycle.isRunning()
-
isAutoStartup
public boolean isAutoStartup()- Specified by:
isAutoStartup
in interfaceorg.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 interfaceorg.springframework.context.Phased
- Specified by:
getPhase
in interfaceorg.springframework.context.SmartLifecycle
-
setPhase
public void setPhase(int phase) - Parameters:
phase
- the phase.- See Also:
-
stop
- Specified by:
stop
in interfaceorg.springframework.context.SmartLifecycle
-