作者: 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就可以了。