首先要明确之前所说的 tomcat 的容器其实就是一个个组件
- 这些容器通过组合的形式进行组织
- 被组合的容器成为当前容器的子容器,如 Host 是 Engine 的子容器
1.总体架构类图
- 接口:Server,Service,Container,Engine…
- 实现类:StandardServer,StandardService,StandardEngine…
注意:Conncter是class(普通类),Protocol是enum(枚举类),Endpoint是abstract class(抽象类)
2 生命周期管理类图
- Container与Connector组件都继承了LifeCycleBase而不是直接实现LifeCycle
- 而LifeCycleBase是一个抽象类,他实现了init,start等方法
- 通过模板模式,所有容器只要实现initInternal,startInternal方法