1、daemon.start(),在Bootstrap.java的main方法中。
此过程为通过反射获取catalinaDaemon(上节提到的startupInstance)的start方法,之后进行调用。(在第三节中介绍过)。
2、调用Catalina对象的start方法,如下图。

3、判断server是否为null(server是在第六节的第三标题中注入),如果为null则进行load()方法(就是第六节中的load)。
4、调用server的start方法,server为StandardServer的对象,后续介绍。
5、进行钩子注册。
6、判断await,await在第四节中设置为true,所以会走await()方法和stop()方法。后续介绍。
本文详细解析了Java Web应用启动流程,包括反射获取启动类、Catalina对象的start方法调用、判断server是否为空并加载配置、server对象的start方法调用以及钩子注册等关键步骤。
861

被折叠的 条评论
为什么被折叠?



