how tomcat works(第六章)
第六章译好了,放在Google docs上面,欢迎大家访问,提出修改意见
综述
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, LifecycleEvent, and LifecycleListener进行讨论。另外,还会解释一个公用类LifecycleSupport,它给组件提供了一个简单方式来触发生命周期事件和处理事件监听器。在本章中,会建立一个有实现了Lifecycle接口的类的工程。该程序时基于第五章的应用程序的。