Tomcat(2)生命周期管理
来源:互联网 发布:钣金放样软件 编辑:程序博客网 时间:2024/06/06 05:54
1 Lifecycle接口
Tomcat通过org.apache.catalina.Lifecycle接口统一管理生命周期,所有有生命周期的组件都要实现Lifecycle接口。Lifecycle接口一共做了4件事:
定义了13个String类型常量,用于LifecycleEvent事件的type属性中,作用是区分组件发出的LifecycleEvent事件时的状态(如初始化前、启动前、启动中等)。这种设计方式可以让多种状态都发送同一种类型的事件(LifecycleEvent)然后用其中的一个属性来区分状态而不用定义多种事件。
定义了三个管理监听器的方法addLifecycleListener、findLifecycleListeners和removeLifecycleListener,
分别用来添加、查找和删除LifecycleListener类型的监听器。
定义了4个生命周期的方法:init、start、stop和destroy,用于执行生命周期的各个阶段的操作。
定义了获取当前状态的两个方法getState和getStateName,用来获取当前的状态,getState的返回值LifecycleState是枚举类型,里边列举了生命周期的各个节点,getStateName方法返回String类型的状态的名字,主要用于JMX中。
2 LifecycleBase
Lifecycle的默认实现是org.apache.catalina.util.LifecycleBase,所有实现了生命周期的组件都直接或间接地继承自LifecycleBase,LifecycleBase为Lifecycle里的接口方法提供了默认实现:监听器管理是专门使用了一个LifecycleSupport类来完成的,LifecycleSupport中定义了一个LifecycleListener数组类型的属性来保存所有的监听器,然后并定义了添加、删除、查找和执行监听器的方法;生命周期方法中设置了相应的状态并调用了相应的模板方法,init、start、stop和destroy所对应的模板方法分别是initInternal、startInternal、stopInternal和destroyInternal方法,这四个方法由子类具体实现,所以对于子类来说,执行生命周期处理的方法就是initInternal、startInternal、stopInternal和destroyInternal
- Tomcat(2)生命周期管理
- TOMCAT源码分析-生命周期管理2
- Tomcat的生命周期管理
- Tomcat的生命周期管理
- TOMCAT源码分析-生命周期管理
- Tomcat源码分析--生命周期管理
- Tomcat的生命周期管理简要分析
- Tomcat的生命周期管理简要分析
- Tomcat的生命周期管理简要分析
- Tomcat 体系结构、关键组件及生命周期管理
- tomcat源码分析二:生命周期管理
- Tomcat生命周期管理与观察者模式
- Tomcat的生命周期管理简要分析
- tomcat生命周期的管理——生命周期统一接口Lifecycle
- tomcat系列分析之生命周期管理初始化动作
- 【Web容器】Tomcat源码分析(3)-生命周期管理
- tomcat生命周期
- Tomcat生命周期
- Notepad++ 正则快速替换 占位符
- Codeforces 392-C Yet Another Number Sequence (矩阵快速幂)
- maven笔记-3-springboot小案例
- 2017多校联合第8场1008/hdu 6140Hybrid Crystals(思维)
- MyBatis之java.lang.UnsupportedOperationException异常解决方案
- Tomcat(2)生命周期管理
- 前端框架Easey UI(二)表格控件的查找与删除操作消息提示对话框
- NYOJ 79 拦截导弹
- POJ cow acrobats
- 《Java源码分析》:ConcurrentHashMap JDK1.8
- iOS MermaidSwimming(美人鱼游泳)~demo
- 链表的基本操作
- 2017暑假训练第十七天
- MySQL怎么使用