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就可以看到返回的信息了。