窝窝插件 发表于 2017-2-10 12:41:43

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

  调用当前方法的对象是StandardEngine,执行pipeline的start方法的对象是Pipeline]
  1、init
  (1)、setStateInternal(LifecycleState.INITIALIZING,null, false),因为StandardPipeline的ls的listeners为0,所以没有动作执行。
  (2)、initInternal(),没有动作执行。
  (3)、setStateInternal(LifecycleState.INITIALIZED,null, false),因为StandardPipeline的ls的listeners为0,所以没有动作执行。
  2、setStateInternal(LifecycleState.STARTING_PREP,null, false),因为StandardPipeline的ls的listeners为0,所以没有动作执行。
  3、startInternal()
  (1)、StandardEngineValve.start
     1)、init
       1))、setStateInternal(LifecycleState.INITIALIZING, null, false),因为StandardEngineValve的ls的listeners为0,所以没有动作执行。
       2))、initInternal(),调用父类LifecycleMBeanBase注册Mbean。
       3))、setStateInternal(LifecycleState.INITIALIZED, null, false),因为StandardEngineValve的ls的listeners为0,所以没有动作执行。
      2)、setStateInternal(LifecycleState.STARTING_PREP, null, false) ,因为StandardEngineValve的ls的listeners为0,所以没有动作执行。
      3)、startInternal(),主要是setState(LifecycleState.STARTING),,因为StandardEngineValve的ls的listeners为0,所以没有动作执行。
      4)、setStateInternal(LifecycleState.STARTED, null, false),因为StandardEngineValve的ls的listeners为0,所以没有动作执行。
  (2)、setState(LifecycleState.STARTING),因为StandardEngineValve的ls的listeners为0,所以没有动作执行。
  4、setStateInternal(LifecycleState.STARTED,null, false),因为StandardPipeline的ls的listeners为0,所以没有动作执行。
页: [1]
查看完整版本: Tomcat源码解读--代码走读之(二十一的2-3)pipeline.start(四十)