Tomcat源码解读--代码走读之(二十一的2-5)threadStart(四十二)

调用当前方法的对象是StandardEngine[Catalina],如下图。



 

1、创建一个daemon线程进行启动,如下图,主要是更换classLoader进行container.backgroundProcess()。系统的classLoadercatalinaLoader在第二章提到过,应用的classLoaderWebappClassLoader 



 

2、系统的后台程序如下图。主要是判断是否为nullbackgroundProcess的执行;fireLifecycleEvent(Lifecycle.PERIODIC_EVENT,null)的事件进行执行,取决于当前containerlslisteners



 

3、应用的后台程序主要如下图。



 

1)、进行ContainerBasebackgroundProcess

2)、进行periodicEvent(),如下图。主要是进行是否已经上传,和是否已经编译。



 

 

猜你喜欢

转载自83519144.iteye.com/blog/1887012