??? 本文一步步講解如何從獲得、編譯、建立環境到運行 Shark 的方法。按照本文給出的步驟,Shark 可實際運行起來。應該注意的是,本文所用數據庫為 MySQL,并在 windows 2000 上運行。本文是從很多筆記和 Shark 小組提供的線索中總結出來的,這種經歷痛苦而又幸運。??? ??? 之所以我沒有使用可執行安裝程序的原因是,我想從零開始來構建 Shark。??? ??? 你最好擁有或能夠安裝下列程序,但這并不是 shark 所必需的,僅僅是本文檔的要求:??? ??? 1、MySQL - 我使用 4.0.16-nt ??? 2、MySQL Connector - 我選擇 mysql-connector-java-3.0.11-stable-bin.jar ??? 3、Java - 我使用 Sun j2sdk 版本為 1.4.2_04 ??? 4、CVS, Winzip, 等等
??? 首先,自己獨立安裝它們,然后開始我們的 shark 學習!??? 獲得 Shark
??? 我個人的安裝方式是把所有的源文件拷貝到 C:\dev\Shark 目錄下,最后的輸出路徑是 C:\Shark。你也可以自己放在任何地方,不過要調整以下命令。??? ??? 首先下載 Shark 1.0 http://forge.objectweb.org/project/showfiles.php?group_id=74&release_id=512??? 對于 Windows 系統,我下載 zip 文件并解包到 C:\dev\Shark 目錄。??? ??? 如果你想獲取 CVS (http://forge.objectweb.org/scm/?group_id=74) 上的版本,則命令說明如下:??? ??? 通過使用下面的命令集,你可以用 anonymous 從 shark 的 cvs 庫取到代碼。下面的 modulename 指你想要 checkout 的模塊名稱,如果你不知道模塊名稱,請用 ”.” 代替。
如果有提示要求輸入口令,按 enter 就可以了。
??? cvs -d:pserver:anonymous@cvs.forge.objectweb.org:/cvsroot/shark login
??? cvs -z3 -d:pserver:anonymous@cvs.forge.objectweb.org:/cvsroot/shark co modulename
??? 在使用 CVS 的情況下,我把 /dev/Shark 作為 CVS 根目錄。??? 編 譯??? ??? 切換到 C:\dev\Shark 目錄。運行下列命令:??? ??? configure -help
??? 你會得到下面的輸出:
?Parameters value for using with configure.bat :
?configure?????? - Make build.properties file with default values
?configure -help - Display this screen
?configure [-jdkhome jdk_home_dir] [-instdir installdir] -writes proper parameters to the build.properties file?Examples :
?configure -jdkhome c:/j2sdk1.4.1 -instdir C:/Shark-1.0
??? 有一個 *nix shell 腳本可以做同樣的事情。對我來說用這個更簡單,我不需要進行 jdkhome 設置,因為我的 JAVA_HOME 已經設置好了,我的安裝目錄是 c:/Shark,下面是我使用的命令:
???? configure -instdir c:/Shark
??? 這個命令實際上是在 build.properties 文件中填充屬性字段,我的文件是如下:
?version=1.0?version_release=beta2?version_build=13?jdk_dir=C:/j2sdk1.4.2_04?install_dir=C:/Shark?build_debug=on??? ??? 現在準備開始編譯了。編譯使用 ant,但你應該用已經提供的 make file。使用幫助選項來查看到底有哪些選項可用:??? ??????? make –help??? ??? 大部分的選項要求我們必須先完全構建。當然,也可以用 shell 腳本來完成這個任務。我們用下面的命令來完全構建(可能要點時間)。??? ??????? make buildAll??????? ??? 執行上述命令,ant 會構建所有的參數。憑借少許運氣,就會順利完成。如何處理構建上的問題超出了本文的范疇。最后,把這些前期準備好的原材料,文檔,工具等等打包,再裝載到之前指定的安裝路徑。??? ??????? make install??????? ??? 該命令會組裝(拷貝)文件到你的安裝路徑(我的是 C:\Shark)。??? 快速測試
??? 為了快速測試,我們將運行默認配置的 Shark 管理程序。??? ??? 在安裝目錄中,通常有個叫做 runsa.bat 的文件。運行該文件。Shark 管理程序(swing)將啟動,開始向你詢問用戶名和密碼了,分別是 "admin" 和 "enhydra"。如果驗證通過,將會馬上證明構建是成功的。??? ??? TODO:詳情請鏈接到 Enhydra Shark 管理文檔??? 配置 Shark
??? 下面,我們開始配置 Shark??? ??? 修改 Shark.conf??? ??? 首先,在 Shark 路徑中找到名叫 Shark.conf 的文件。用你喜歡的編輯器打開它,第一個參數是:??? ??? enginename=Shark??? ??? 我們將留下這一主題。正如前面筆記所提到的,虛擬機和數據庫的不同將導致配置的差異。對于初次測試,我們不用改變參數值。請注意被注釋了的 HypersonicSQL 驅動信息,HSQL 是運行 Shark 的默認數據庫,由于 Shark 不能運行在多數據庫平臺下,我們配置為 MySQL。??? ?# HypersonicSQL?#DatabaseManager.DB.sharkdb.JdbcDriver="org.hsqldb.jdbcDriver"?#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:hsqldb:C:/Shark/db/hsql/hsql"??未注釋的 MySQL 部分:
?# MySQL?DatabaseManager.DB.sharkdb.JdbcDriver="org.gjt.mm.mysql.Driver"?DatabaseManager.DB.sharkdb.Connection.Url="jdbc:mysql://localhost/shark"??請注意,這里我還是完全用默認配置。該配置表明數據庫是在本地機器上,用戶名/密碼使用 MySQL 默認的 "sa" 和 ""。如果這種配置不適合你,你完全可以修改它。??#?# Default cache configuration?#?DatabaseManager.defaults.cache.maxCacheSize=0?DatabaseManager.defaults.cache.maxSimpleCacheSize=0?DatabaseManager.defaults.cache.maxComplexCacheSize=0?DatabaseManager.defaults.cache.reserveFactor=0.1??在這個部分,是了解我如何使用 Shark 的好途徑,除非你用 CORBA 通訊,否則應用程序將直接與數據庫交互。這些都不是 Shark 服務器代碼。所以如果你有多個客戶端,它們都需要與數據庫直接交互。由于無法更新多個客戶端的緩存,所以我關閉了緩存。??LRU 緩存也應該被關閉:??#=============================================================================?# Default cache is LRU?#?#-----------------------------------------------------------------------------?# Cache defaults?#?#CacheManagerClassName=org.enhydra.shark.caching.LRUCacheMgr??好了,目的達到,保存后關閉該文件。??創建數據庫??現在安裝 MySQL,創建一個名為 "shark" 的數據庫。如果你想改變名字,需要在 Shark.conf 文件中修改數據庫 URL。??其次,編輯 C:\Shark 目錄下 recreateDB.bat 文件。注釋掉 Hypersonic 部分,再反注釋掉 MySQL 部分。??rem HypersonicSQL database?rem rmdir /q /s db\hsql?rem mkdir db\hsql?rem set LOADERJOBXML=sql\hsql\LoaderJob.olj??rem MySQL database?set LOADERJOBXML=sql\mysql\LoaderJob.olj??最后,我們將改變執行調用,因為腳本喜歡創建新窗口,而且在你看見錯誤信息前就關閉了。像這樣修改它:??start "Recreate Database" "C:\j2sdk1.4.2_04\bin\java" -Djava.ext.dirs=lib org.webdocwf.util.loader.Loader -cjs shark/conf? %LOADERJOBXML%??修改后:??"C:\j2sdk1.4.2_04\bin\java" -Djava.ext.dirs=lib org.webdocwf.util.loader.Loader -cjs shark/conf? %LOADERJOBXML%??當然,如果你的 JDK 和上面的不一樣,第一部分的引用會不同。??保存后關閉 recreateDB.bat 文件,再打開 LoaderJob.olj 文件。在我的系統中,位置在 C:\Shark\sql\mysql\LoaderJob.olj。其實你不需要做什么的,但應注意連接 URL 是否存在,如果你變更了數據庫名,也要在這里修改。??最后的步驟是拷貝數據庫驅動包到 C:\Shark\lib 目錄。我使用 MySQL,所以拷貝相應的 jar 文件到 lib 目錄。??現在運行 recreateDB 腳本。如果沒有意外,就成功了。如果你發現了錯誤信息,就再次運行該腳本。再次閱讀 “快速測試” 以確定所有步驟都已完成。你可以同時運行兩個一樣的管理程序來測試多客戶端環境。
請注意!引用、轉貼本文應注明原譯者:Rosen Jiang 以及出處: http://www.tkk7.com/rosen
Powered by: BlogJava Copyright © Rosen