说明:
一、构造过程主要为 AbstractServer 的五个成员变量赋值
actualClass = JBossASServer.class;
configuration = new BasicJBossASServerConfig();
validato = new JBossASBasedConfigurationValidator<T>();
serverInitializer = new JBossASServerInitializer<K, T>();
configInitializer = new JBossASConfigurationInitializerImpl<T>();
二、初始化过程
从 AbstractServer的initialize()开始,initialize()控制整个初始化的生命周期和状态的转换。
在initialize()方法里面,调用doInitialize()方法,依次从下向上执行,
顺序是 AbstractJBossASServerBase.doInitialize() -----> AbstractMCServerBase.doInitialize() ------> AbstractServer.doInitialize()
三、初始化步骤
三个 doInitialize() 做了三件不同的事情:
1、AbstractJBossASServerBase.doInitialize()
注册STARTED和STOPPING状态转换事件监听
2、AbstractMCServerBase.doInitialize()
启动新线程,完成Kernel 的初始化。
3、AbstractServer.doInitialize()
配置初始化、验证配置以及服务初始化。
四、启动过程
启动过程主要在AbstractServer 的 start() 方法完成,重新启动了一个新线程,完成doStart()和状态转换。