成都心情

  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  98 随笔 :: 2 文章 :: 501 评论 :: 1 Trackbacks

    本文一步步讲解如何从获得、编译、建立环境到运行 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.blogjava.net/rosen

posted on 2005-08-12 10:05 Rosen 阅读(1122) 评论(0)  编辑  收藏 所属分类: 工作流

只有注册用户登录后才能发表评论。


网站导航: