收入啤酒88 发表于 2017-2-10 12:32:08

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

  当前对象为StandardEngine,执行间接父类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].start(),后续介绍。
  (4)、setState(LifecycleState.STARTING),后续介绍。
  (5)、threadStart(),后续介绍。
  3、setStateInternal(LifecycleState.STARTED,null, false),里面有一个StandardEngine的listener。
  (1)、EngineConfig,在此阶段没有动作。
页: [1]
查看完整版本: Tomcat源码解读--代码走读之(二十的2-2)container.start(二十一)