JBoss AS 6.1.0 Final 启动过程分析-Main

时间:2022-03-06 04:21:38

JBoss AS 6.1.0 Final 启动过程分析-Main


说明:

一、构造过程主要为 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()和状态转换。