作者: ELFer
2006-09-27 10:11
JBoss中包含了几种不同的服务器类型,以适应不同的需求。下面就以JBoss-4.0.0为例简要说明这几种服务器的区别以及根据需要配置自己的服务器的方法。
一、服务器的类型
在JBoss的server目录中包含了四个文件夹:all、default、standard和minimal,它们分别代表了JBoss自带的四种类服务器。从字面就可以看出四种服务器的区别。具体如下:
minimal:这是JBoss最小化配置服务器,它包含了启动JBoss所需要的最小化的服务。它启动一个日志服务、一个JNDI服务器和一个用来发现新的发布内容的URL发布扫描器。如果你想使用JMX/JBoss启动你自己的服务,而不是用任何J2EE的技术,那么这个就是最佳选择。它没有web容器,不支持EJB或者JMX。
default:这是JBoss服务器的默认配置,它包含大多数J2EE应用程序所需要的标准服务。它不包括JAXR服务、IIOP服务和任何关于集群的服务。
all:这是JBoss服务器的完整配置,它包含了所有可用的服务,像RMI/IIOP和集群服务这些在default配置中不支持的服务。
standard:这是JBoss服务器的标准配置。
当然,我们还可以配置属于自己的服务器。
二、服务器的启动
在%JBOSS_HOME%/bin下有一个run.bat,双击这个文件就可以启动JBoss服务器,同时会发现在bin中还有一个run.sh和shutdown.sh,这是用来在UNIX和Linux中启动和关闭服务器。除了这种方法以外,如果配置了环境变量,还可以在命令行直接输入run来启动服务器。以上的方式启动的只是JBoss中default配置的服务器,如果要启动别的服务器,可以使用:run -c all,这样就会启动all服务器。
三、配置自己的服务器
在开发过程中,我们可以直接把自己的应用程序放在需要的服务器中,但是为了保持原来的服务器,也为了使用的方便,通常的做法是将需要的服务器复制一份,命名为自己服务器的名字,例如myserver。像前面的启动all服务器一样,在命令行输入:run -c myserver,就可以启动myserver服务器。
在%JBOSS_HOME%/bin中可以通过run.bat启动default服务器,那么我们也可以在其中建立启动自己服务器的bat文件。首先,复制run.bat,命名为myserver.bat(为了明白期间,一般将bat文件命名为和要启动的服务器同样的名字)。然后,打开myserver.bat,找到如下:
"%JAVA%" %JAVA_OPTS% -Djava.endorsed.dirs=%JBOSS_ENDORSED_DIRS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %*
在后面添加 -c myservser,如下所示:
"%JAVA%" %JAVA_OPTS% -Djava.endorsed.dirs=%JBOSS_ENDORSED_DIRS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %* -c myserver最后,保存退出,双击这个文件,就会启动myserver服务器。
四、端口号的修改
JBoss服务器在启动过程会为每一个服务器指定一个端口号,例如HTTP是8080,但是有时可能一些端口已经被占用,这时就会导致服务器启动失败。常见的一种情况,如果先后在同一台机器上安装了Oracle和JBoss,这时HTTP服务的8080端口就会被占用,启动服务器时就会报错。此时就要修改JBoss的默认端口了。
在当前的服务器文件夹中,找到deploy\jbossweb-tomcat50.sar文件夹,例如:%JBOSS_HOME%\server\myserver\deploy\jbossweb-tomcat50.sar,这个文件夹下有一个server.xml,打开,会看到如下内容:
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
这就指定了HTTP的端口为8080,将8080修改为其他没有使用的端口,例如8000,保存。再启动时就会发现端口号已经更改。
关于端口的占用问题,有时先启动BT下载,再启动JBoss时就有可能报端口被占用的错误,这时先退出BT,待JBoss完全启动后再打开BT就可以了。