tomcat源码笔记——catalina

catalina主要负责启动关闭shell程序
bootstarp会通过java反射的方式创建catalina实例,在起收到指令之后通过catalina启动/关闭容器。
catalina有几个主要的方法
load
start
await
stop

load主要做这几件事情
在解析器里面加入standardServer的各种解析规则
获取conf/server.xml配置文件
在编译器解析配置的路径下的文件内容
standardServer初始化
如下是解析器中加入的一部分待解析规则


tomcat源码笔记——catalina_第1张图片
解析配置规则

主要是解析server的配置以及server下各个资源的配置

start主要做如下几件事情
启动standardServer
将catalina的shutdownhook注册到JVM
如果之前(bootstrap)设置了等待状态那么切换等待状态接受命令行指令


tomcat源码笔记——catalina_第2张图片
start代码

await主要做如下事情
将standardServer设为等待状态

stop分为stop何stopServer两种方式
stop的主要过程是
移除shutdown hook
standardServer关闭
standardServer销毁


tomcat源码笔记——catalina_第3张图片
catalina stop代码

stopServer比stop更加麻烦一点,这部分代码理解的不是很透彻
先判断本地是否存在Server,如果不存在,则获取server.xml的配置,去根据ip和port发送shutdown指令,停止远端的server


tomcat源码笔记——catalina_第4张图片
stopServer

你可能感兴趣的:(tomcat源码笔记——catalina)