The Spring Framework

## org.springframework.context
Interface Lifecycle

All Known Subinterfaces:
  ConfigurableApplicationContext, ConfigurablePortletApplicationContext, ConfigurableWebApplicationContext

All Known Implementing Classes:
  AbstractApplicationContext, AbstractJmsListeningContainer, AbstractMessageListenerContainer, AbstractPollingMessageListenerContainer, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractRefreshablePortletApplicationContext, AbstractRefreshableWebApplicationContext, AbstractXmlApplicationContext, ClassPathXmlApplicationContext, DefaultMessageListenerContainer, DefaultMessageListenerContainer102, FileSystemXmlApplicationContext, GenericApplicationContext, GenericMessageEndpointManager, GenericWebApplicationContext, JmsMessageEndpointManager, ResourceAdapterApplicationContext, SchedulerFactoryBean, ServerSessionMessageListenerContainer, ServerSessionMessageListenerContainer102, SimpleMessageListenerContainer, SimpleMessageListenerContainer102, StaticApplicationContext, StaticPortletApplicationContext, StaticWebApplicationContext, TimerManagerFactoryBean, XmlPortletApplicationContext, XmlWebApplicationContext

    public interface Lifecycle

Interface defining methods for start/stop lifecycle control. The typical use case for this is to control asynchronous processing.

Can be implemented by both components (typically a Spring bean defined in a Spring `BeanFactory`) and containers (typically a Spring `ApplicationContext`). Containers will propagate start/stop signals to all components that apply.

Can be used for direct invocations or for management operations via JMX. In the latter case, the `MBeanExporter` will typically be defined with an `InterfaceBasedMBeanInfoAssembler`, restricting the visibility of activity-controlled components to the Lifecycle interface.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `ConfigurableApplicationContext`, `AbstractMessageListenerContainer`, `SchedulerFactoryBean`

Method Summary
`boolean` `isRunning()` Check whether this component is currently running.
`void` `start()` Start this component.
`void` `stop()` Stop this component.

Method Detail

### start

    void start()

  Start this component. Should not throw an exception if the component is already running.

  In the case of a container, this will propagate the start signal to all components that apply.

### stop

    void stop()

  Stop this component. Should not throw an exception if the component isn't started yet.

  In the case of a container, this will propagate the stop signal to all components that apply.

### isRunning

    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

The Spring Framework

Copyright © 2002-2008 The Spring Framework.