调用当前方法的对象是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,所以没有动作执行。
本文深入分析了使用Pipeline启动过程中的状态变化,重点探讨了StandardEngineValve在启动流程中的角色和作用,包括其初始化、状态转换等关键步骤。
1846

被折叠的 条评论
为什么被折叠?



