浅析Tomcat之StandardServer和StandardService

Tomcat的启动类是Boostrap,它的功用是接收控制台的命令,根据命令来控制Catalina.而Catalina负责的是解析Tomcat的配置文件,以此来创建服务器组件.并根据命令来对其进行管理.服务器组件和服务组件的任务就是组装并启动Servlet引擎,Tomcat连接器.

Catalina有个属性server这个就是它所管理的server.它的主要方法也是对其进行操作的.其中load方法就是根据server.xml来构造一系列的组件,并调用server的init方法来初始化整个web服务器.而其start,stop方法顾名思义也就是用来启动和停止服务器组件(默认实现是StandardServer).而Server对外提供服务是使用其service属性,该属性是一个数组.在Server.xml的配置中体现为Service节点.StandardServer的起停也就是service的启停.当然中间会包括一些生命周期事件.上述的StandardServer,StandardService都是继承自LifecycleMBeanBase.类图(猛击看图)可以很清晰地看出他们的类层次关系.感兴趣的话可以仔细研读其中的代码.StandardServer接受命令后是使用StandardServise来控制Servlet引擎和Tomcat连接器.

 

 

首发于泛泛之辈http://www.lihongkun.com/archives/92

猜你喜欢

转载自lihkstyle.iteye.com/blog/1944393
今日推荐