从Springboot 看 Tomcat 启动

一、入口—finishRefresh


springboot 项目启动流程也许大家很熟悉,其中启动 tomcat ,是在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext#finishRefresh:

	protected void finishRefresh() {
		super.finishRefresh();
		WebServer webServer = startWebServer();
		if (webServer != null) {
			publishEvent(new ServletWebServerInitializedEvent(webServer, this));
		}
	}

二、内嵌式Tomcat—TomcatWebServer

今天我们就来看下是如何启动的,顺便了解下 tomcat 的启动过程,注意在启动前,会先初始化:

org.springframework.boot.web.embedded.tomcat.TomcatWebServer#initialize 会在构造器里调用:

从Springboot 看 Tomcat 启动_第1张图片

 从Springboot 看 Tomcat 启动_第2张图片

三、套娃式各种 startInternal

最终调用了server.start 方法&#x

你可能感兴趣的:(进阶架构师,spring,boot,tomcat,后端)