美文网首页Tomcat 解析
Tomcat 启动流程

Tomcat 启动流程

作者: 想54256 | 来源:发表于2020-05-13 15:19 被阅读0次

title: Tomcat 启动流程
date: 2020/05/12 17:06


Bootstrap#main() 方法是启动的入口

Bootstrap 类主要负责根据不同的命令来调用 Catalina 类的不同方法

image

tag1

image

tag1.1 initClassLoaders()

image

tag2 setAwait()

image

tag3 load()

通过反射调用了 Catalina 类的 load 方法

image image

注意:Server 组件还有 6 个生命周期监听器,虽然我不知道是干啥的

image image image

tag3.1 engine.init()

image image

tag3.2 pipline.init()

什么也没干

tag3.3 connector.init()

image

tag4 start()

通过反射调用了 Catalina 类的 start 方法

image image image image

tag4.1 Engine#start()

image

tag4.1.1 Host#start()

image image image image

HostConfig 的在下面,建议先看下

tag4.1.2 Pipline#start()

image

就是简单的循环启动,也没做啥

tag4.1.3 threadStart

image image image image

tag4.2 mapperListener.start()

这个时候整个 Tomcat 的容器已经全部创建完成并进行了启动。

image

构建 Mapper 的代码太复杂,我们就不看了,看下 MappingListener 实现的监听器做了什么。

LifecycleListener ContainerListener

tag4.3 connector.start()

image

HostConfig

image image image

我们直接看部署文件夹的

image image image

Host#addChildren

image image

Context#start()

image image

就是这个事件触发了 ContextConfig 调用了 Wrapper#start()。

image

加载 Servlet 那段代码我们下节讲请求流程的时候再讲

相关文章

网友评论

    本文标题:Tomcat 启动流程

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