Tomcat源码解读--代码走读之(二十一的2-3)pipeline.start(四十)
调用当前方法的对象是StandardEngine[Catalina],执行pipeline的start方法的对象是Pipeline[StandardEngine[Catalina]]
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[Catalina].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,所以没有动作执行。