tomcat启动过程分析
window系统启动tomcat的批处理脚本文件是startup.bat
题外话:batch 基础 参见https://www.cnblogs.com/liuyang-inf/p/3875284.html
打开该文件:
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
发现该脚本会调用catalina.bat
打开该文件
set _EXECJAVA=%_RUNJAVA%
set MAINCLASS=org.apache.catalina.startup.Bootstrap
set ACTION=start
大家都知道java程序的入口是有main方法的主类 (MainClass) org.apache.catalina.startup.Bootstrap
打开这个引导程序(自行到官网下载源码 http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.86/src/ 下载需要的版本只需修改连接后粗体部分)
Bootstrap类分为2大块:
静态对象daemon的创建和初始化、
根据命令行参数对daemon调用对应的方法。
原文参见http://www.molotang.com/articles/628.html