|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.context.support.DefaultLifecycleProcessor
public class DefaultLifecycleProcessor
Default implementation of the LifecycleProcessor strategy.
| Nested Class Summary | |
|---|---|
private class |
DefaultLifecycleProcessor.LifecycleGroup
Helper class for maintaining a group of Lifecycle beans that should be started and stopped together based on their 'phase' value (or the default value of 0). |
private class |
DefaultLifecycleProcessor.LifecycleGroupMember
Adapts the Comparable interface onto the lifecycle phase model. |
| Field Summary | |
|---|---|
private ConfigurableListableBeanFactory |
beanFactory
|
private Log |
logger
|
private boolean |
running
|
private long |
timeoutPerShutdownPhase
|
| Constructor Summary | |
|---|---|
DefaultLifecycleProcessor()
|
|
| Method Summary | |
|---|---|
private void |
doStart(java.util.Map<java.lang.String,? extends Lifecycle> lifecycleBeans,
java.lang.String beanName)
Start the specified bean as part of the given set of Lifecycle beans, making sure that any beans that it depends on are started first. |
private void |
doStop(java.util.Map<java.lang.String,? extends Lifecycle> lifecycleBeans,
java.lang.String beanName,
java.util.concurrent.CountDownLatch latch,
java.util.Set<java.lang.String> countDownBeanNames)
Stop the specified bean as part of the given set of Lifecycle beans, making sure that any beans that depends on it are stopped first. |
protected java.util.Map<java.lang.String,Lifecycle> |
getLifecycleBeans()
Retrieve all applicable Lifecycle beans: all singletons that have already been created, as well as all SmartLifecycle beans (even if they are marked as lazy-init). |
protected int |
getPhase(Lifecycle bean)
Determine the lifecycle phase of the given bean. |
boolean |
isRunning()
Check whether this component is currently running. |
void |
onClose()
Notification of context close phase, e.g. |
void |
onRefresh()
Notification of context refresh, e.g. |
void |
setBeanFactory(BeanFactory beanFactory)
Callback that supplies the owning factory to a bean instance. |
void |
setTimeoutPerShutdownPhase(long timeoutPerShutdownPhase)
Specify the maximum time allotted in milliseconds for the shutdown of any phase (group of SmartLifecycle beans with the same 'phase' value). |
void |
start()
Start all registered beans that implement Lifecycle and are not already running. |
private void |
startBeans(boolean autoStartupOnly)
|
void |
stop()
Stop all registered beans that implement Lifecycle and are currently running. |
private void |
stopBeans()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private final Log logger
private volatile long timeoutPerShutdownPhase
private volatile boolean running
private volatile ConfigurableListableBeanFactory beanFactory
| Constructor Detail |
|---|
public DefaultLifecycleProcessor()
| Method Detail |
|---|
public void setTimeoutPerShutdownPhase(long timeoutPerShutdownPhase)
public void setBeanFactory(BeanFactory beanFactory)
BeanFactoryAwareInvoked after the population of normal bean properties
but before an initialization callback such as
InitializingBean.afterPropertiesSet() or a custom init-method.
setBeanFactory in interface BeanFactoryAwarebeanFactory - owning BeanFactory (never null).
The bean can immediately call methods on the factory.BeanInitializationExceptionpublic void start()
start in interface Lifecyclepublic void stop()
stop in interface Lifecyclepublic void onRefresh()
LifecycleProcessor
onRefresh in interface LifecycleProcessorpublic void onClose()
LifecycleProcessor
onClose in interface LifecycleProcessorpublic boolean isRunning()
LifecycleIn the case of a container, this will return true
only if all components that apply are currently running.
isRunning in interface Lifecycleprivate void startBeans(boolean autoStartupOnly)
private void doStart(java.util.Map<java.lang.String,? extends Lifecycle> lifecycleBeans,
java.lang.String beanName)
lifecycleBeans - Map with bean name as key and Lifecycle instance as valuebeanName - the name of the bean to startprivate void stopBeans()
private void doStop(java.util.Map<java.lang.String,? extends Lifecycle> lifecycleBeans,
java.lang.String beanName,
java.util.concurrent.CountDownLatch latch,
java.util.Set<java.lang.String> countDownBeanNames)
lifecycleBeans - Map with bean name as key and Lifecycle instance as valuebeanName - the name of the bean to stopprotected java.util.Map<java.lang.String,Lifecycle> getLifecycleBeans()
protected int getPhase(Lifecycle bean)
The default implementation checks for the Phased interface.
Can be overridden to apply other/further policies.
bean - the bean to introspect
Phased,
SmartLifecycle
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||