首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Tomcat源码解读-代码走读之(二十九的2-3)StandardContext. start(三十)

2013-06-26 
Tomcat源码解读--代码走读之(二十九的2-3)StandardContext. start(三十)StandardContext的类关系是:classS

Tomcat源码解读--代码走读之(二十九的2-3)StandardContext. start(三十)

StandardContext的类关系是:

classStandardContext?extends?ContainerBase?implements?Context,?NotificationEmitter,

abstractclass?ContainerBase?extends?LifecycleMBeanBase?implements?Container

????调用父类LifecycleBase的start()方法。

1、init,

(1)、setStateInternal(LifecycleState.INITIALIZING,null,?false);因为ls的listeners有2个。

????1)、ContextConfig,在此阶段没动作。

????2)、MemoryLeakTrackingListener,在此阶段没动作。

(2)、initInternal(),执行StandardContext的initInternal方法。

Tomcat源码解读-代码走读之(二十九的2-3)StandardContext. start(三十)

????1)、调用父类LifecycleMBeanBase的initInternal,注册Mbean

????2)、给StandardContext的ls的listeners增加一个TldConfig

????3)、进行消息的处理,与J2EE有关。

(3)、setStateInternal(LifecycleState.INITIALIZED,null,?false);?因为ls的listeners有3个。

?????1)、ContextConfig,进行init初始化。

Tomcat源码解读-代码走读之(二十九的2-3)StandardContext. start(三十)

???????1))、创建Digester对象。

??????2))、contextConfig();后续介绍

??????3))、createWebXmlDigester(context.getXmlNamespaceAware(),context.getXmlValidation());后续介绍

????????????4))、fixDocBase();后续介绍

2)、MemoryLeakTrackingListener,在此阶段没动作。

3)、TldConfig,后续介绍。

2、setStateInternal(LifecycleState.STARTING_PREP,?null,?false);后续介绍。

3、startInternal();后续介绍

4、setStateInternal(LifecycleState.STARTED,?null,?false);后续介绍。

热点排行