1. 準備
下載Tuxedo For Windows版本和License文件,本機採用的是Tuxedo8.1 windows版本。選擇完全安裝,具體Windows安裝過程略(一路Next)。本機Tuxedo安裝路徑 C:\Program Files\bea\tuxedo8.1。
安裝Tuxedo後執行bealic程序,將獲得的License文件拷貝到updataobj文件中。
2. 環境變量
2.1 設置系統環境變量
在xp系統下修改環境path等環境變量, 包括Tuxedo的可執行文件路徑:
PATH項添加:C:\Program Files\bea\tuxedo8.1\bin
TUXDIR項新增:C:\Program Files\bea\tuxedo8.1\bin
TUXCONFIG項新增:%APPDIR%\tuxconfig
確認之後立即生效以上環境變量。
2.2 setenv.cmd腳本
腳本大致內容如下,保存到C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp目錄:
set TUXDIR=C:\Program Files\bea\tuxedo8.1
set WSNADDR=//192.168.0.23:4050
set APPDIR=C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig
C:\"Program Files"\"Microsoft Visual Studio"\VC98\Bin\VCVARS32.bat
其中WSNADDR爲當前系統IP地址與端口,最後一行引入的是編譯器VC6.0的環境變量,指示系統編譯連接源代碼所需的相關環境。
生效此腳本的環境變量還需要在控制檯中運行此腳本。
3. Ubbconfig文件
3.1 文件內容及字段說明
下面是一個完整的ubb文件,此文件要放在本地目錄下。即與環境變量APPDIR保持 一致,本文中保存在C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp目錄。具體內容如下:
*RESOURCES
IPCKEY 123456
DOMAINID myapp
MASTER tse
MAXACCESSERS 50
MAXSERVERS 5
MAXSERVICES 10
MAXGTT 5
MODEL SHM
LDBAL N
*MACHINES
WORK
LMID=tse
APPDIR="C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp"
TUXCONFIG="C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp\tuxconfig"
TUXDIR="C:\Program Files\bea\tuxedo8.1"
*GROUPS
GROUP1 LMID=tse GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1 MIN = 1 MAX = 5
*SERVICES
TOUPPER
其中每段詳細的說明很複雜,具體可以查看相關資料。這裏只對比較迷惑的地方說明下。
*RESOURCES下MASTER名稱任意,但要與*MACHINES,*GROUPS裏的LMID保持一致。
*RESOURCES下如MAXACCESSERS,MAXSERVERS,MAXSERVICES等設置錯誤如1,編譯config後,在命令行運行tmboot,BBL是啓動不起來的,重新設置正確的值後,再編譯config,tmboot
BBL也啓動不起來。原因是任務管理器殘存tuxipc這個進程,在編譯config前,幹掉它就沒問題了。
*MACHINES下面的服務器機器名必須是大寫。否則編譯config會提示什麼non master的錯誤。
*MACHINES類似TUXDIR的內容必須與環境變量設置一致。
*SERVERS中的名字必須是服務端程序編譯後的EXE文件名。
*SERVICES的TOUPPER是服務端程序編譯時-s制定的服務名。
3.2 編譯ubb文件
運行cmd命令,進入控制檯,進入C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp目錄,運行tmloadcf -y ubb編譯ubb文件,如果編譯有錯誤,根據差錯信息修改ubb文件具體字段信息,直到解決問題,編譯ubb文件完成後,會在APPDIR下生成tuxconfig文件。
4. 編程
4.1 編程準備
由於後面程序中需要用到一個data.h頭文件,保存在C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp目錄,內容如下:
#ifndef DATA_H
#define DATA_H
#define NAME_LENGTH 64
typedef struct trans_data
{
int age;
char name[NAME_LENGTH];
}trans_data_t;
#endif
4.2 simpcl.c與simpserv.c文件
simpcl.c與simpserv.c文件分別是client端與server端程序源代碼,在C:\Program Files\bea\tuxedo8.1\samples\atmi\simpapp目錄已有,我們僅僅編譯其驗證Tuxedo安裝,具體設計不予細談。
4.3 編譯源代碼
在控制檯下執行命令buildserver -o simpserv -f simpserv.c -s TOUPPER編譯服務端程序,成成simpserv可執行程序;在文件所在目錄執行編譯命令buildclient -v -o client -f simpcl.c,生成client可執行程序。
4.4 運行程序
執行tmboot -y命令,啓動tuxedo服務:顯示BBL服務啓動成功,simpserv啓動成功。
運行tmadmin可以查看維護服務的狀態等,運行client.exe xxxxx就可以看到返回的信息了。