zoukankan      html  css  js  c++  java
  • tomcat源码分析 StandardServer初始化过程

    ----------------------------以下为initInternal方法----------------------------

    1、调用父类org.apache.catalina.util.LifecycleMBeanBase#initInternal方法,注册MBean

    2、注册本类的其它属性的MBean

    3、NamingResources初始化

       

    globalNamingResources.init();

    4、从common ClassLoader开始往上查看,直到SystemClassLoader,

         遍历各个classLoader对应的查看路径,找到jar结尾的文件,读取Manifest信息,

         加入到ExtensionValidator#containerManifestResources属性中。

    5、初始化service,默认实现是StandardService。

      i) 调用super.initInternal()方法

         ii) container初始化,这里container实例是StandardEngine。

         iii) Executor初始化

         iv)Connector初始化,在我本机上是如下2个连接。

             a)org.apache.catalina.connector.Connector   Connector[HTTP/1.1-8080]

             b) org.apache.catalina.connector.Connector   Connector[AJP/1.3-8009]

    ----------------------------以下为startInternal方法---------------------------

    1、触发CONFIGURE_START_EVENT事件。

    2、设置本对象状态为STARTING

    3、NameingResource启动。

        

    globalNamingResources.start();

    4、StandardService启动。

      i)  设置状态为STARTING

         ii)  container启动,即StandardEngine启动

         iii)  Executor 启动

         iv) Connector启动。

             a)org.apache.catalina.connector.Connector   Connector[HTTP/1.1-8080]

             b) org.apache.catalina.connector.Connector   Connector[AJP/1.3-8009]

    5、设置状态为STARTED 

  • 相关阅读:
    tomcat对sessionId的处理分析
    MySQL 5.5 新增SIGNAL异常处理
    jetty对sessionId的处理分析
    Python3.x和Python2.x的区别
    java actor模型和消息传递简单示例
    构建工具scons让一切变得简单
    HTML元素控件事件表
    开始新的旅途
    JS各种常见知识点
    C#代码与javaScript函数的相互调用
  • 原文地址:https://www.cnblogs.com/knockon/p/3330756.html
Copyright © 2011-2022 走看看