美文网首页
Tomcat主流程的启动

Tomcat主流程的启动

作者: 诗和雨 | 来源:发表于2017-03-12 10:53 被阅读0次

1.Bootstrap启动

    Tomcat的入口,调用main()方法去启动整个tomcat的服务

main():新建Bootstrap,并执行init方法初始化;然后处理main方法传入的命令,如果args参数为空,默认执行start。

init():初始化ClassLoader,并用ClassLoader创建了Catalina实例。

start():处理调用三个方法:setAwait(true),load(args)和start().

2.Catalina的启动过程

Catalina的启动主要是调用setAwait,load和start方法来完成的。

setAwait():用于设置Server启动完成后是否进入等待状态的标志,如果是TRUE的话,则进入,否则不进入

Load():用于加载配置文件,创建并初始化Server,根据conf/server.xml创建了Server对象,并赋值给server属性(解析开元项目Digester完成的)

start():用于启动服务器,并根据await属性判断是否让程序进入了等待状态

3.Server启动过程

addService(Service service)、removeService(Service service)来添加和删除Service,Server 的init方法和start方法分别循环调用每个Service的init方法和start方法来启动所有的Service。

Server的默认实现了org.apache.catalina.core.StandardServer.StandardServer继承自LifecycleMBeanBase,LifecycleMBeanBase继承自LifecycleBase,init和start定义在Lifecyclebase中,LifeCycleBase又实现了initInternal方法和StartInternal方法,这个俩个方法都是模板方法,由具体的子类去实现。因此调用StandardServer的init和start方法时会去执行StandardServer中的initInternal和startIntegernal方法。

4.Service启动

Service的默认实现是org.apache.catalina.core.StandardService.

在Stan大人Service中的initInternal和startInternal方法调用Container,executors,mapperListener,connector的init和start方法。

MapperListener是Map普洱的监听器,可以监听Container容器的变化,executors是用在connectors中管理线程的线程池。

Tomcat整体启动流程图:

相关文章

  • Tomcat主流程的启动

    1.Bootstrap启动 Tomcat的入口,调用main()方法去启动整个tomcat的服务 main()...

  • Java - 获取当前进程的信息

    如果主流程内启动了进程去做一件事情(比如kylin启动DictJob去构建全局字典),主流程要知道状态如何了;需要...

  • Tomcat 启动初始化

    tomcat 启动类 我们通过tomcat的catalina.sh 的脚本启动tomcat时,执行的是tomcat...

  • tomcat优化

    tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚...

  • Tomcat启动分析(一) - Bootstrap类

    本系列以Tomcat 8.5.33为例分析Tomcat的启动过程。 Tomcat的启动脚本 与Tomcat有关的脚...

  • Mac brew 安装Tomcat

    1、brew搜索tomcat 2、brew安装tomcat 3、brew启动tomcat 4、查看启动是否成功浏览...

  • javaWeb开篇

    启动tomcat问题 如果遇到tomcat

  • tomcat

    1.开机自启动tomcat vim /etc/rc.d.rc.local 启动tomcat服务 查看tomcat是...

  • Tomcat启动流程

    Tomcat启动分析 Tomcat作为独立的Servlet容器启动时,由引导类Bootstrap启动,Bootst...

  • IDEA TOMCAT SSM 框架中各个日志的位置

    - IDEA 工具启动日志 - IDEA 项目启动build日志 - IDEA 托管tomcat tomcat 日...

网友评论

      本文标题:Tomcat主流程的启动

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