浅谈Tomcat源码中Bootstrap类的四个方法
Tomcat中共有两个类用于Server的启动,Bootstrap和Catalina。作为Bootstrap的主要工作,是代理Catalina内部方法的调用,其本身并不执行任何Server的启动/关闭操作,Bootstrap中主要有四个方法init(),start(),还有stop()跟load()。在main()中调用到了这四个方法。
1.关于ini().代码如下图在init方法中调用首先initClassLoader方法来初始化Tomcat的ClassLoader模块,然后是使用刚自定义类加载器加载catalinaLoader 来加载org.apache.catalina.startup.Catalina 类。接下来是调用Catalina中的setParentClassLoader方法
2.关于load()方法代码如下图,load方法通过反射调用Catalina类的load方法
3.关于start()方法代码如下图,开始调用int()方法去加载启动需要的架包,接着从这里开始就调用catalina类的start()方法其中invoke ()方法相当于catalina类的对象带有Object对象的参数去执行start()方法
4.关于stop()方法代码如下,跟start()方法同理调用catalina的stop()方法