public class

DefaultLifecycleProcessor

extends Object
implements BeanFactoryAware LifecycleProcessor
java.lang.Object
   ↳ org.springframework.context.support.DefaultLifecycleProcessor

Class Overview

Default implementation of the LifecycleProcessor strategy.

Summary

Public Constructors
DefaultLifecycleProcessor()
Public Methods
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.
void stop()
Stop all registered beans that implement Lifecycle and are currently running.
Protected Methods
Map<StringLifecycle> 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).
int getPhase(Lifecycle bean)
Determine the lifecycle phase of the given bean.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.beans.factory.BeanFactoryAware
From interface org.springframework.context.Lifecycle
From interface org.springframework.context.LifecycleProcessor

Public Constructors

public DefaultLifecycleProcessor ()

Public Methods

public boolean isRunning ()

Check whether this component is currently running.

In the case of a container, this will return true only if all components that apply are currently running.

Returns
  • whether the component is currently running

public void onClose ()

Notification of context close phase, e.g. for auto-stopping components.

public void onRefresh ()

Notification of context refresh, e.g. for auto-starting components.

public void setBeanFactory (BeanFactory beanFactory)

Callback that supplies the owning factory to a bean instance.

Invoked after the population of normal bean properties but before an initialization callback such as afterPropertiesSet() or a custom init-method.

Parameters
beanFactory owning BeanFactory (never null). The bean can immediately call methods on the factory.

public 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). The default value is 30 seconds.

public void start ()

Start all registered beans that implement Lifecycle and are not already running. Any bean that implements SmartLifecycle will be started within its 'phase', and all phases will be ordered from lowest to highest value. All beans that do not implement SmartLifecycle will be started in the default phase 0. A bean declared as a dependency of another bean will be started before the dependent bean regardless of the declared phase.

public void stop ()

Stop all registered beans that implement Lifecycle and are currently running. Any bean that implements SmartLifecycle will be stopped within its 'phase', and all phases will be ordered from highest to lowest value. All beans that do not implement SmartLifecycle will be stopped in the default phase 0. A bean declared as dependent on another bean will be stopped before the dependency bean regardless of the declared phase.

Protected Methods

protected Map<StringLifecycle> 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).

Returns
  • the Map of applicable beans, with bean names as keys and bean instances as values

protected int getPhase (Lifecycle bean)

Determine the lifecycle phase of the given bean.

The default implementation checks for the Phased interface. Can be overridden to apply other/further policies.

Parameters
bean the bean to introspect
Returns
  • the phase an an integer value. The suggested default is 0.