----------------------------以下为initInternal方法----------------------------
1、调用父类org.apache.catalina.util.LifecycleMBeanBase#initInternal方法,注册MBean
2、注册本类的其它属性的MBean
3、NamingResources初始化
globalNamingResources.init();
4、从common ClassLoader开始往上查看,直到SystemClassLoader,
遍历各个classLoader对应的查看路径,找到jar结尾的文件,读取Manifest信息,
加入到ExtensionValidator#containerManifestResources属性中。
5、初始化service,默认实现是StandardService。
i) 调用super.initInternal()方法
ii) container初始化,这里container实例是StandardEngine。
iii) Executor初始化
iv)Connector初始化,在我本机上是如下2个连接。
a)org.apache.catalina.connector.Connector Connector[HTTP/1.1-8080]
b) org.apache.catalina.connector.Connector Connector[AJP/1.3-8009]
----------------------------以下为startInternal方法---------------------------
1、触发CONFIGURE_START_EVENT事件。
2、设置本对象状态为STARTING
3、NameingResource启动。
globalNamingResources.start();
4、StandardService启动。
i) 设置状态为STARTING
ii) container启动,即StandardEngine启动
iii) Executor 启动
iv) Connector启动。
a)org.apache.catalina.connector.Connector Connector[HTTP/1.1-8080]
b) org.apache.catalina.connector.Connector Connector[AJP/1.3-8009]
5、设置状态为STARTED