tomcat原理源码分析之启动流程图
2019-07-11 07:17:23 0 举报
tomcat原理源码分析之启动流程图
作者其他创作
大纲/内容
daemon.stopServer(args)
else if(command.equals(\"start\"))
daemon.stop()
load()
反射调用catalina一样名称的方法
else if(command.equals(\"stop\"))
getXMLReader().parse(input)
startup.sh
file = configFile()加载server.xml文件
调用catalina.sh
daemon.load(args)
若加载server.xml为null则加载server-embed.xml文件
调用bootstrap.jar
daemon = bootstrap
bootstrap.jar
bootstrap.java
解析配置文件digester.parse(inputSource)
catalina.sh
getParser()创建getFactory().newSAXParser()类型,使用sax方式解析xml文件
调用initClassLoaders()初始化classloader,并加载catalina对应目录下的各种jar包
if(command.equals(\"startd\"))
使用SAXParser解析xml
调用server的init方法getServer().init()
执行startup.sh文件启动tomcat
main方法
Server.java接口的实现类StandardServer.java
daemon.start()
Digester.java
实例化对象Bootstrap
执行main方法
daemon.setAwait(true)
加载org.apache.catalina.startup.Catalina类并实例化,反射调用setParentClassLoader设置刚刚初始化的classloader,然后赋值给catalinaDaemon
else if(command.equals(\"configtest\"))
start()方法
createStartDigester()创建digester对象为后续解析server.xml文件做准备
else if(command.equals(\"stopd\"))
调用bootstrap对象的init方法
load()方法
Catalina.java
0 条评论
回复 删除
下一页