1、本節內容簡介
本章主要介紹JBOSS(免費的EJB服務器),以及教會大家如何安裝Jboss,建立你第一個EJB和客戶端。關于什么是EJB,以及如何開發等。這些
關于EJB方面有很多書籍進行描述,在此不再闡述。描述信息是運行在windows平臺,當然你可以應用在其他支持的平臺(如:Linux等)。
2、關于JBOSS
Jboss支持EJB 1.1和EJB 2.0的規范,它是一個為管理EJB的容器和服務器。類似于Sun’s J2SDK Enterprise
Edition(J2EE),但是Jboss核心服務僅是提供EJB服務器。JBOSS不包括serverlers/JSP page
的WEB容器,當然可以和Tomcat或Jetty綁定使用。JBOSS需要比較小的內存和硬盤空間??梢栽?4M內存以及幾兆空間上很好的運行。而
Sun’s J2EE需要最少內存為128M,以及31M硬盤空間。JBOSS啟動速度要比J2EE快10倍。而且它能內嵌SQL
數據庫服務器進行持久性BEAN處理,當啟動時會自動啟動。(J2EE裝載分離CloudScape SQL Server)。
其中一個非常好的特性JBOSS能夠“熱”部署,“熱”部署的意思就是在部署BEAN只是簡單拷貝BEAN的JAR文件到部署路徑下,如果BEAN已經被
LOAD,JBOSS卸載它,然后LOAD一個新版本BEAN。如果你需要更多的JBOSS特性,你可以查看關于JBOSS論壇的網站。如果需要支持,可
以付費聯系JBossGroup LLC。
本章一步一步幫助你開始用jboss進行分布式開發:如何建立一個簡單的BEAN,以及如何在jboss服務器上部署和在測試。
3、必備條件
JBOSS是一個純JAVA編寫的,需要一個JAVA系統和JDK1.3兼容。為了能便宜和運行所有的例子,你需要有Ant 1.4或以上版本。在下節將會介紹如何獲得和安裝。當然你要有開發EJB基礎。
4、安裝ANT
我們在很多書上以及網頁可能都看見過這個名字,到底它用來作什么的呢?Ant
是一個基于java的build工具。現在已經有了許多的build工具,例如make、gnumake、nmake、jam等,而且這些工具都非常優
秀。Ant是一個跨平臺的Build工具。之所以Ant能跨平臺,是因為Ant不再需要你編寫shell命令,Ant的配置文件是基于XML的任務樹,能
讓你運行各種各樣的任務,任務的運行是由實現了特定任務接口的對象來完成的。
有兩個版本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/
關于這兩個版本的不同之處可以參考http://ant.apache.org/ 。如果下載不了可以向我索取QQ:182244794, Email: amaryllis@163.net 。
在下載完Ant后,你解壓文件,全部文件會放在一個apache-ant-1.5.2路徑下。Ant文檔會釋放在docs/manual目錄下,你可以打
開網頁docs/manual/index.html來瀏覽關于ant文檔的內容。
我用Windows系統釋放在c:/apache-ant-1.5.2路徑下。
1) 設置ANT_HOME環境變量,指向你的ANT目錄。
2) 需要設置JAVA_HOME環境變量,指向你的JDK目錄。
3) 將%ANT_HOME%in加入到PATH環境變量中。
4) 當你不帶任何參數運行ant時,Ant會在當前目錄找一個名叫build.xml的文件。如果沒找到,會有以下提示:
Buildfile : build.xml does not exist!Build failed
為了測試ANT安裝是否成功,我建立了一個新的build.xml文件,放在當前的目錄下%ANT_HOME%samples。Build.xml內容如下:
public class ASimpleHelloObject
{
public static void main(String[] args) {
System.out.println("ASimpleHelloObject.main was called"); }
}
運行ant 顯示結果如下:
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以及環境已經設置成功。如果有以下警告
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.
表示你需要設置JAVA_HOME環境,指定你安裝的JDK 目錄。如何運用Ant 中的各種命令,我會在以后編寫《ANT文檔》介紹。
5、安裝JBOSS
1) 在安裝和運行JBoss 之前,你必須檢查是否安裝了JDK,需要在PATH環境中,設置JDK的目錄。
2)、 下載JBoss 服務器。JBoss 是一個壓縮文件,你可以下載最新版本。為了能支持Web
Server,我用的是Windows平臺,所以下載了jboss3.0.6-tomcat4.1.18。你可以到http:
//prdownloads.sourceforge.net/jboss/
中直接下載。如果你使用的是Unix/Lunix平臺也可以從這個網址下載相應的JBoss 服務器。
3)、安裝
(1) Lunix/Unix下安裝
a、 你下載了對于Unix/Lunix版本的JBoss 服務器l 用JDK 的JAR工具來解壓文件到一個臨時目錄。
b、 設置JBOSS_DIST指向JBoss 解壓后最頂級目錄。
c、 然后到此目錄下,
cd JBOSS_DIST/bin
sh run.shl
運行完后顯示信息如下:
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、 解壓后基本上不需要配置,運用bin目錄下的run.bat命令。
c、 運行run.bat命令,請看后臺有沒有什么異常拋出。
d、
運行成功請訪問http://localhost:8083將會出現空白頁。訪問http://localhost:8080將會出現Tomcat的歡迎
頁面,如果出現Apache Tomcat/4.1.12 - HTTP Status 500 - No Context configured
to process this
request的錯誤,這是正常的,因為你還沒有發布.ear或.war應用。當然jboss-3.2.ORC3_tomcat-4.1.18.zip不
會出現這樣的問題,因為在目錄serverdefaultdeploy中自帶了web測試文件webtest.ear
訪問http://localhost:8082你可以看到Jboss起動的服務。你可以運行http://localhost:8080/jmx-
console就會出現相關頁面。
(3) Window NT 和2000補充
對于NT和Win2k系統如果你要安裝NT或Win2k服務的話,可以把jboss加在系統服務中,避免你每次需要到jboss目錄下運行run.bat命令,只是當系統啟動時,自動啟動jboss服務器。
a、 首先你需要下載javaservice.exe文件。l
編輯一個批處理文件,自己命名文件名,存入和JavaService.exe相同的目錄。我命名為Jboss_Tomcat_Service.bat此文
件的內容@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、 運行以下命令
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是不變的參數
f、將會看到安裝成功的命令,你到win2k或NT的Service中看我可以看Jboss306的服務,你可以正常的起動它。然后再查看各種網頁(同windows安裝相同)如果成功,到此恭喜你,你安裝了JBoss服務器。
(4)問題
如果在在安裝了服務,網頁顯示不正確。你需要多試幾次,首先運行
Jboss_Tomcat_Service uninstall
然后再運行
Jboss_Tomcat_Service C:j2sdk1.4.0_02 C:jboss-3.0.6_tomcat-4.1.18 server。