综述
Catalina由多个组件组成,当Catalina启动的时候,这些组件也会启动。当Catalina停止的时候,这些组件也必须有机会被清除。例如,当一个容器停止工作的时候,它必须唤醒所有加载的servlet的destroy方法,而session管理器要保存session到二级存储器中。保持组件启动和停止一致的的机制通过实现org.apache.catalina.Lifecycle接口来实现。 一个实现了Lifecycle接口的组件同是会触发一个或多个下列事件:BEFORE_START_EVENT, START_EVENT, AFTER_START_EVENT, BEFORE_STOP_EVENT, STOP_EVENT, and AFTER_STOP_EVENT。当组件被启动的时候前三个事件会被触发,而组件停止的时候会触发后边三个事件。另外,如果一个组件可以触发事件,那么必须存在相应的监听器来对触发的事件作出回应。监听器使用org.apache.catalina.LifecycleListener来表示。
Lifecycle接口
Lifecycle中最重要的方法是start和stop方法。一个组件提供了这些方法的实现,所以它的父组件可以通过这些方法来启动和停止他们。
LifecycleEvent类
org.apache.catalina.LifecycleEvent表示一个生命周期事件
LifecycleListener接口
org.apache.catalina.LifecycleListener接口可以表示生命周期监听器
LifecycleSupport类