Tomcat源码解读--代码走读之(二十的2-2)container.start(二十一)

当前对象为StandardEngine[Catalina],执行间接父类LifecycleBase的start()方法。类继承关系是StandardEngine extends ContainerBase implements Engine,ContainerBaseextends LifecycleMBeanBase implements Container。

1、setStateInternal(LifecycleState.STARTING_PREP, null, false),里面有一个StandardEngine的listener。

    (1)、EngineConfig,在此阶段没有动作。

2、StandardEngine的startInternal()内容主要为调用父类ContainerBase的startInternal(),对logger、manager、cluster、realm、resources,children、pipeline、thread这些进行启动,如下图。



 

(1)、realm.start(),后续介绍。

(2)、StandardHost.start(),后续介绍。

(3)、Pipeline[StandardEngine[Catalina]].start(),后续介绍。

(4)、setState(LifecycleState.STARTING),后续介绍。

(5)、threadStart(),后续介绍。

3setStateInternal(LifecycleState.STARTED,null, false),里面有一个StandardEnginelistener

(1)、EngineConfig,在此阶段没有动作。

猜你喜欢

转载自83519144.iteye.com/blog/1886988
今日推荐