1、本節(jié)內(nèi)容簡介
本章主要介紹JBOSS(免費(fèi)的EJB服務(wù)器),以及教會大家如何安裝Jboss,建立你第一個EJB和客戶端。關(guān)于什么是EJB,以及如何開發(fā)等。這些
關(guān)于EJB方面有很多書籍進(jìn)行描述,在此不再闡述。描述信息是運(yùn)行在windows平臺,當(dāng)然你可以應(yīng)用在其他支持的平臺(如:Linux等)。
2、關(guān)于JBOSS
Jboss支持EJB 1.1和EJB 2.0的規(guī)范,它是一個為管理EJB的容器和服務(wù)器。類似于Sun’s J2SDK Enterprise
Edition(J2EE),但是Jboss核心服務(wù)僅是提供EJB服務(wù)器。JBOSS不包括serverlers/JSP page
的WEB容器,當(dāng)然可以和Tomcat或Jetty綁定使用。JBOSS需要比較小的內(nèi)存和硬盤空間。可以在64M內(nèi)存以及幾兆空間上很好的運(yùn)行。而
Sun’s J2EE需要最少內(nèi)存為128M,以及31M硬盤空間。JBOSS啟動速度要比J2EE快10倍。而且它能內(nèi)嵌SQL
數(shù)據(jù)庫服務(wù)器進(jìn)行持久性BEAN處理,當(dāng)啟動時會自動啟動。(J2EE裝載分離CloudScape SQL Server)。
其中一個非常好的特性JBOSS能夠“熱”部署,“熱”部署的意思就是在部署B(yǎng)EAN只是簡單拷貝BEAN的JAR文件到部署路徑下,如果BEAN已經(jīng)被
LOAD,JBOSS卸載它,然后LOAD一個新版本BEAN。如果你需要更多的JBOSS特性,你可以查看關(guān)于JBOSS論壇的網(wǎng)站。如果需要支持,可
以付費(fèi)聯(lián)系JBossGroup LLC。
本章一步一步幫助你開始用jboss進(jìn)行分布式開發(fā):如何建立一個簡單的BEAN,以及如何在jboss服務(wù)器上部署和在測試。
3、必備條件
JBOSS是一個純JAVA編寫的,需要一個JAVA系統(tǒng)和JDK1.3兼容。為了能便宜和運(yùn)行所有的例子,你需要有Ant 1.4或以上版本。在下節(jié)將會介紹如何獲得和安裝。當(dāng)然你要有開發(fā)EJB基礎(chǔ)。
4、安裝ANT
我們在很多書上以及網(wǎng)頁可能都看見過這個名字,到底它用來作什么的呢?Ant
是一個基于java的build工具。現(xiàn)在已經(jīng)有了許多的build工具,例如make、gnumake、nmake、jam等,而且這些工具都非常優(yōu)
秀。Ant是一個跨平臺的Build工具。之所以Ant能跨平臺,是因?yàn)锳nt不再需要你編寫shell命令,Ant的配置文件是基于XML的任務(wù)樹,能
讓你運(yùn)行各種各樣的任務(wù),任務(wù)的運(yùn)行是由實(shí)現(xiàn)了特定任務(wù)接口的對象來完成的。
有兩個版本Binary和Source 可以下載最新版本1.5.2。
Binary版: http://ant.apache.org/old-releases/v1.5.2/binaries/
Source版:http://ant.apache.org/old-releases/v1.5.2/source/
關(guān)于這兩個版本的不同之處可以參考http://ant.apache.org/ 。如果下載不了可以向我索取QQ:182244794, Email: amaryllis@163.net 。
在下載完Ant后,你解壓文件,全部文件會放在一個apache-ant-1.5.2路徑下。Ant文檔會釋放在docs/manual目錄下,你可以打
開網(wǎng)頁docs/manual/index.html來瀏覽關(guān)于ant文檔的內(nèi)容。
我用Windows系統(tǒng)釋放在c:/apache-ant-1.5.2路徑下。
1) 設(shè)置ANT_HOME環(huán)境變量,指向你的ANT目錄。
2) 需要設(shè)置JAVA_HOME環(huán)境變量,指向你的JDK目錄。
3) 將%ANT_HOME%in加入到PATH環(huán)境變量中。
4) 當(dāng)你不帶任何參數(shù)運(yùn)行ant時,Ant會在當(dāng)前目錄找一個名叫build.xml的文件。如果沒找到,會有以下提示:
Buildfile : build.xml does not exist!Build failed
為了測試ANT安裝是否成功,我建立了一個新的build.xml文件,放在當(dāng)前的目錄下%ANT_HOME%samples。Build.xml內(nèi)容如下:
public class ASimpleHelloObject
{
public static void main(String[] args) {
System.out.println("ASimpleHelloObject.main was called"); }
}
運(yùn)行ant 顯示結(jié)果如下:
c:apache-ant-1.5.2samples> antBuildfile: build.xml
Init :
AsimpleHelloObject:
[echo] Wrote AsimpleHelloObject.java
compile:
[javac] Compiling 1 source file to c:apache-ant-1.5.2samples
run :
[java] AsimpleHelloObject.main was called[echo] Ant appears to be successfully installed
BUILDE SUCCESSFUL
Total time :11 seconds.
到此你安裝的ANT以及環(huán)境已經(jīng)設(shè)置成功。如果有以下警告
Warning: JAVA_HOME environment variable is not set. If build fails because sun.* classes could not be found you will need to set the JAVA_HOME environment variable to the installation directory of java.
表示你需要設(shè)置JAVA_HOME環(huán)境,指定你安裝的JDK 目錄。如何運(yùn)用Ant 中的各種命令,我會在以后編寫《ANT文檔》介紹。
5、安裝JBOSS
1) 在安裝和運(yùn)行JBoss 之前,你必須檢查是否安裝了JDK,需要在PATH環(huán)境中,設(shè)置JDK的目錄。
2)、 下載JBoss 服務(wù)器。JBoss 是一個壓縮文件,你可以下載最新版本。為了能支持Web
Server,我用的是Windows平臺,所以下載了jboss3.0.6-tomcat4.1.18。你可以到http:
//prdownloads.sourceforge.net/jboss/
中直接下載。如果你使用的是Unix/Lunix平臺也可以從這個網(wǎng)址下載相應(yīng)的JBoss 服務(wù)器。
3)、安裝
(1) Lunix/Unix下安裝
a、 你下載了對于Unix/Lunix版本的JBoss 服務(wù)器l 用JDK 的JAR工具來解壓文件到一個臨時目錄。
b、 設(shè)置JBOSS_DIST指向JBoss 解壓后最頂級目錄。
c、 然后到此目錄下,
cd JBOSS_DIST/bin
sh run.shl
運(yùn)行完后顯示信息如下:
bash-2.04$ /bin/sh run.sh
JBOSS_CLASSPATH=:run.jar:../lib/crimson.jar
jboss.home = /tmp/JBoss-2.2.2
Using JAAS LoginConfig: file:/tmp/JBoss-2.2.2/conf/default/auth.conf
Using configuration "default"
[Info] Java version: 1.3.1,Sun Microsystems Inc.
[Info] Java VM: Java HotSpot(TM) Server VM 1.3.1-b24,Sun Microsystems Inc.
[Info] System: Linux 2.2.16-22,i386
[Shutdown] Shutdown hook added
[Service Control] Registered with server
[Service Control] Initializing 24 MBeans
...
[Service Control] Started 24 services
[Default] JBoss 2.2.2 Started in 0m:7s
(2) Windows下安裝
a、 下載jboss3.0.6-tomcat4.1.18.zip, 然后用winzip解壓到一個目錄,我解壓在c:jboss3.0.6-tomcat4.1.18目錄
b、 解壓后基本上不需要配置,運(yùn)用bin目錄下的run.bat命令。
c、 運(yùn)行run.bat命令,請看后臺有沒有什么異常拋出。
d、
運(yùn)行成功請訪問http://localhost:8083將會出現(xiàn)空白頁。訪問http://localhost:8080將會出現(xiàn)Tomcat的歡迎
頁面,如果出現(xiàn)Apache Tomcat/4.1.12 - HTTP Status 500 - No Context configured
to process this
request的錯誤,這是正常的,因?yàn)槟氵€沒有發(fā)布.ear或.war應(yīng)用。當(dāng)然jboss-3.2.ORC3_tomcat-4.1.18.zip不
會出現(xiàn)這樣的問題,因?yàn)樵谀夸泂erverdefaultdeploy中自帶了web測試文件webtest.ear
訪問http://localhost:8082你可以看到Jboss起動的服務(wù)。你可以運(yùn)行http://localhost:8080/jmx-
console就會出現(xiàn)相關(guān)頁面。
(3) Window NT 和2000補(bǔ)充
對于NT和Win2k系統(tǒng)如果你要安裝NT或Win2k服務(wù)的話,可以把jboss加在系統(tǒng)服務(wù)中,避免你每次需要到j(luò)boss目錄下運(yùn)行run.bat命令,只是當(dāng)系統(tǒng)啟動時,自動啟動jboss服務(wù)器。
a、 首先你需要下載javaservice.exe文件。l
編輯一個批處理文件,自己命名文件名,存入和JavaService.exe相同的目錄。我命名為Jboss_Tomcat_Service.bat此文
件的內(nèi)容@echo offecho --------
echo Usage: %0 jdk_home tomcat_home
(classic/hotspot/server)echo NOTE: You MAY NOT use spaces in the path
names. If you know howecho to fix this, please tell me.echo JDK 1.4
does not come with hotpot server by default, you mustecho install this
seperately if you wish to use it.echo Example: %0 ..jdk ..jboss30
hotspot
echo --------
if "%1" == "uninstall" goto uninstall
if "%1" == "-uninstall" goto uninstall
if "%1" == "" goto usage
if "%2" == "" goto usage
if "%3" == "" goto usage
if "%1" == "-help" goto usage
if "%1" == "-?" goto usage
if "%1" == "/?" goto usage
:install
JavaService.exe -install JBoss306 %1jrein%3jvm.dll -Djava.class.path=%1lib ools.jar;%2in
un.jar -start org.jboss.Main -stop org.jboss.Main -method systemExit -out %2inout.txt -current %2in goto eof
:uninstall
JavaService.exe -uninstall JBoss306
goto eof
:usage
echo -------- To Install JBoss 3.0.6 do
echo Usage: %0 jdk_home jboss_home (classic/hotspot/server)
echo NOTE: You MAY NOT use spaces in the path names. If you know how echo to fix this, please tell me.
echo JDK 1.4 does not come with hotpot server by default, you must echo install this seperately if you wish to use it.
echo Example: %0 ..jdk ..jboss30 hotspot
echo --------
echo -------- To Uninstall JBoss 3.0.6 do
echo Usage: %0 uninstall echo --------
goto eof
:eof
e、 運(yùn)行以下命令
Jboss_Tomcat_Service C:j2sdk1.4.0_02 C:jboss-3.0.6_tomcat-4.1.18 server
其中C:j2sdk1.4.0_02是java安裝的目錄 C:jboss-3.0.6_tomcat-4.1.18是Jboss安裝的目錄,server是不變的參數(shù)
f、將會看到安裝成功的命令,你到win2k或NT的Service中看我可以看Jboss306的服務(wù),你可以正常的起動它。然后再查看各種網(wǎng)頁(同windows安裝相同)如果成功,到此恭喜你,你安裝了JBoss服務(wù)器。
(4)問題
如果在在安裝了服務(wù),網(wǎng)頁顯示不正確。你需要多試幾次,首先運(yùn)行
Jboss_Tomcat_Service uninstall
然后再運(yùn)行
Jboss_Tomcat_Service C:j2sdk1.4.0_02 C:jboss-3.0.6_tomcat-4.1.18 server。