################################################################################ # ShMem使用说明 # ################################################################################ ################################################################################ ShMem简介 --------- ShMem是一个易用的小组件,包含在SmartLib中。ShMem可以帮助Java和COM(比如VB和ASP)的程序员使用共享内存。 SmartLib简介 ------------ SmartLib是按照“Regular Statement String”规范编写的一个各语言通用共享库,源代码在source子目录中。 //////////////////////////////////////////////////////////////////////////////// ShMem的使用场景 --------------- 构建Web应用的数据字典 --------------------- 用一个独立的程序通过读数据库建立一块共享内存,作为Web应用的数据字典。 Web应用通过定位读写,使用该数据字典。 应用服务器的监控程序 -------------------- 应用服务器把一些状态信息写入共享内存,供监控程序使用。 ################################################################################ 准备工作 -------- 安装smartlib ------------ 1. 到“http://www.lrsolution.com/download”下载smartlib,目前的版本仅支持Windows和Linux两个平台。 2. 将smartlib解压缩,假设如下: 对Windows:到“c:\smartlib” 对Linux:到“/usr/smartlib” 3. 对Windows,如果有COM的用户(比如VB, PB, Delphi等),到“c:\smartlib\lib”下,执行命令“register32 Rsscom.dll”。 设置使用smartlib需要的环境变量 ------------------------------ #对Windows:(假定JDK的安装路径是“c:\jdk”) set Path=c:\smartlib\lib;c:\jdk\jre\bin;c:\jdk\jre\bin\classic;c:\jdk\bin;c:\winnt\system32;c:\winnt;c:\winnt\System32\Wbem; set CLASSPATH=.;c:\smartlib\lib #对Linux: PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/java/bin:/usr/java/jre/bin export PATH CLASSPATH=.:/usr/smartlib/lib export CLASSPATH LD_LIBRARY_PATH=/usr/lib:/usr/smartlib/lib:/usr/java/jre/lib/i386:/usr/java/jre/lib/i386/client export LD_LIBRARY_PATH ################################################################################ 使用ShMem --------- //////////////////////////////////////////////////////////////////////////////// ShMem的示例 ----------- 编译方法 -------- 到smartlib的sample子目录的ShMem目录,可以找到源文件,并能按下表编译生成执行程序: 执行程序 源程序 编译方法 ........ ...... ........ test.exe(WIN) test.c WIN: nmake -f test.win.mk test(Linux) Linux: make -f test.linux.mk Test.class Test.java javac Test.java test.vbs test.vbs 无须编译 使用方法 -------- 到smartlib的sample子目录的ShMem目录,可以找到源文件,并编译生成执行程序。按下表执行示例程序: 执行程序 使用方法 示例 ........ ........ .... test.exe(WIN) test test WRITE, test READ, test REMOVE test(Linux) ./test ./test WRITE, ./test READ, ./test REMOVE Test.class java Test java Test test.vbs test.vbs test.vbs