tomcat源码笔记standardSever和standardService

tomcat作为web容器需要管理服务端的端口与链接,数据的读取和转发
standardService就是用于管理链接,请求的读取与分发,目前tomcat主要支持两种协议HTTP/1.1,AJP/1.3
standardServer就是管理各个standaradServce的类和资源
standardServer的生命周期各个事情如下
standardServer
init初始化
依据server.xml初始化各个参数,检查main里面解析的common and shared的classloader下面的jar文件是否存在MANIFEST,把它加入containerManifestResources
globalNamingResources初始化
standardServer的依次初始化各个standardService
start
通知生命周期启动配置
globalNamingResources启动
依次启动standardService
await
若port=-1将当前线程赋值给awaitThread,后续唤醒的时候会唤醒await
创建一个等待的server socket接受command,当接受到shutdown命令就跳出循环开始stop
stop
依次停止standardService
停止globalNamingResources
停止等待请求

standardService
init初始化
初始化standardEngine容器
初始化链接线程池(依据tomcat的配置默认不使用)
初始化mapperListener
依次初始化Connector()(


tomcat源码笔记standardSever和standardService_第1张图片
初始化

start
启动standardEngine容器
启动连接池执行器,赋予运行请求处理线程能力(依据tomcat的配置默认不使用)
启动MapperListener
依次启动Connector

tomcat源码笔记standardSever和standardService_第2张图片
start

stop
先暂停所有connector
停止引擎
停止所有connector
停止mapperLitener监听
停止各个Executor


tomcat源码笔记standardSever和standardService_第3张图片
stop

你可能感兴趣的:(tomcat源码笔记standardSever和standardService)