今天看了看jboss的boot.log和server.log日志,结合自己的理解和其他的资料,现对jboss的启动和加载过程做出如下总结;
本文以JBoss Application Server 4.2.1 GA(以下简称JBoss)为例,介绍它在Windows平台上的启动过程。为了方便叙述,对平台环境做以下假定:Java运行时的安装路径为C:/Java,JBoss的安装路径为C:/JBoss。
既然用100% Java编写的JBoss具有跨平台的特性,那为什么还要强调Windows平台呢?这是因为,JBoss的启动是从平台相关的脚本文件开始的,而在不同平台上的脚本文件是不同的。例如,Window平台上的脚本文件是run.bat,linux平台上的脚本是run.sh。两个文件的内容有很大不同,功能也许差不多,无非是配置启动环境,但是也有可能存在平台相关的因素。我只看了run.bat,对run.sh并不了解,为谨慎起见,我只介绍run.bat,对run.sh不作阐述。
在介绍JBoss启动过程之前,我想先介绍一下JBoss的结构特征,这将有利于大家理解启动过程。JBoss基于JMX框架,它的结构就是一个MBeanSserver以及一些挂在MBeanServer上的MBean。MBean提供功能,MBeanServer是MBean之间的通信总线。JMX框架的好处就是给JBoss带来了高度的灵活性、可配置性。可配置性也是JBoss的核心理念之一,几乎所有的JBoss部件都可以被替换。JBoss通过系统属性、配置文件等多种方法,帮助实现高度的可配置性。我们可以通过设置系统属性,或者通过编辑配置文件,来定制自己的JBoss版本。这种可配置性体现在JBoss的各个角落,启动过程只能窥一斑,若欲知全豹,可以研究一下JBoss的EJB容器等其它部件。
介绍完JBoss的结构特征,我们开始进入JBoss的启动过程。整个过程可以分为六个阶段,下面将依次介绍。
一、执行启动脚本,配置启动环境
JBoss的启动过程从执行run.bat开始,run.bat的主要工作就是配置启动环境。
JBoss的启动环境其实是一些启动参数,例如JBoss的安装路径、java命令的参数、JBoss的类路径等。
如果在配置过程中发生错误,run.bat的执行将被中断。
run.bat将配置以下启动参数:
JBOSS_HOME
JBoss的安装路径,其值为C:/JBoss
PATH
将C:/JBoss/bin/native添加到PATH中,native下的文件是平台相关的,可以优化JBoss的性能。
JAVA
java.exe文件的路径,其值为C:/Java/bin/java
JAVA_OPTSB
java命令的参数,其值为-Dprogram.name=run.bat –server-Xms128m –Xmx512m –Dsun.rmi.dgc.client.gcInterval=3600000 –Dsun.rmi.dgc.server.gcInterval=3600000
JBOSS_CLASSPATH
JBoss的启动类路径,其值为C:/Java/lib/tools.jar;C:/JBoss/bin/run.jar。JBoss的启动前期需要的类文件都在这两个jar中。
如果没有设置系统环境变量JAVA_HOME,那么run.bat的执行将被中断,JBoss启动失败。因此,在安装好JBoss后,一定要设
置JAVA_HOME系统环境变量。
如果run.bat执行顺利,那么在最后&#x