美文网首页tomcat源码笔记
tomcat源码笔记standardSever和standard

tomcat源码笔记standardSever和standard

作者: 舒凡devp | 来源:发表于2018-01-12 18:15 被阅读12次

    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(<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />)(<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />)


    初始化

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

    start

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


    stop

    相关文章

      网友评论

        本文标题:tomcat源码笔记standardSever和standard

        本文链接:https://www.haomeiwen.com/subject/cvbfoxtx.html