快捷搜索:  汽车  科技

tomcat启动流程分析(tomcat启动流程)

tomcat启动流程分析(tomcat启动流程)6.1.2、初始化catalinaLoade6.1.1、根据catalina.property的common.loader配置初始化commonLoader5、Bootstrap类加载时通过静态代码块初始化catalina.base、catalina.home变量;6、Bootstrap实例化,并调用Init方法初始化6.1、初始化类加载器

tomcat启动流程分析(tomcat启动流程)(1)

1、运行bin/startup.sh脚本;

2、startup.sh脚本中启动catalina.sh脚本;

3、catalina.sh脚本中设置启动的环境变量,catalina.base、catalina.home等;

4、catalina.sh脚本启动bin/bootstrap.jar,该jar包包含tomcat启动类,通过Bootstrap类的main方法启动和停止,根据传入的参数确定操作类型;

5、Bootstrap类加载时通过静态代码块初始化catalina.base、catalina.home变量;

6、Bootstrap实例化,并调用Init方法初始化

6.1、初始化类加载器

6.1.1、根据catalina.property的common.loader配置初始化commonLoader

6.1.2、初始化catalinaLoade

6.1.3、初始化sharedLoader

6.2、将catalinaLoader赋值给线程上下文类加载器

6.3、catalinaLoader加载类org.apache.catalina.startup.Catalina并实例化,赋值给catalinaDaemon变量(这一步的目的是可以通过这个变量获取catalinaLoader类加载器)

7、启动

7.1 设置Catalina的await为true

7.2、Catalina.load载入设置

  • 确定系统环境中java.io.tmpdir目录存在
  • 将catalina.useNaming、java.naming.factory.url.pkgs、java.naming.factory.initial属性设置至系统环境中,为创建汇编器Digester做准备
  • 创建汇编器Digester,并将server.xml相关配置项添加进入Digester的管理序列中
  • 解析server.xml,实例化Server类,并将相应配置添加到StandardServer实例中
  • server通过Init方法初始化

7.3、Catalina.start启动服务

猜您喜欢: