Shark 從零開始(I)(翻譯)

    本文一步步講解如何從獲得、編譯、建立環境到運行 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:[email protected]:/cvsroot/shark login

    cvs -z3 -d:pserver:[email protected]:/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://blog.csdn.net/rosen

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章