什么是Lifecycle
- 组件
- tomcat启动时初始化依赖的下层组件
- 父组件管理子组件
- Servlet
- 加载和实例化(分懒加载和非懒加载)
- init
- service:服务阶段
- destroy:当容器关闭的时候,或者手动移除了Servlet的时候,就会调用该销毁方法
- 事件监听
- ContextLoaderListner实现ServletContextListner接口,因此可以监听tomcat的启动和关闭
- ServletRequestListener可以监听一个请求的出那个键和销毁
- JMX
实现接口
- Lifecycle接口
- 状态:初始化前,初始化后,启动前,启动,启动后,关闭前,关闭,关闭后,销毁前,销毁后,周期,配置开始,配置停止
- 动作:init,start,stop,destroy
- 监听器:添加监听器,获取所有监听器(是个LifecycleListner数组),移除监听器
- LifecycleListener接口
- void lifecycleEvent(LifecycleEvent event)
- 监听的事件
- LifecycleEvent
- Lifecycle:触发事件的源头,比如某个组件
- type:事件状态类型,对应于Lifecycle中的状态
- data:事件携带的参数数据
- LifecycleBase(老版本可能叫LifecycleSupport)
- 为了突破Lifecycle的实现基类被作为父类时,java单继承的限制;暂且称为“伪继承组合”
网友评论