tuxedo实战
最近做的项目要使用到Tuxedo8.1,在这里把各个环节说一下,希望对初学者有帮助,当然,我也是个初学者。
首先是安装,从bea下载Tuxedo安装文件和license,license得要sdklicense,否则无法开发。
安装时,对于服务器端可选择full install,而对于客户端则只需要选择full client install,当然,如果不需要使用所有的client,也可以只安装特定客户端。
不管是服务器还是客户端,如果要编译Tuxedo的程序都必须安装程序编译器,在此以vc++为例
一、服务器端
设置Tuxedo的环境变量。主要有
TUXDIR=c:\bea\tuxedo8.1
path=...(其他path变量);%TUXDIR%\bin
对编写好的服务端c++文件,进行编译,编译之前需设置其他特定环境变量:
set TUXCONFIG=d:\yourServerDir\tuxconfig
set FLDTBLDIR32=d:\yourServerDir
然后编译
buildserver -o firstServer -f firstServer.cpp -s FIRST
-o是生成的exe的名字,-f是源文件,-s是生成的Tuxedo的服务名
再配置到Tuxedo中,需要编辑一个ubbfirst文件,实例如下:
IPCKEY 123456
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER somename
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
DEFAULT:
APPDIR="D:\yourServerDir"
TUXCONFIG="D:\yourServerDir\tuxconfig"
TUXDIR="C:\bea\tuxedo8.1"
"YOURNETWORKID" LMID=somename #YOURNETWORKID是你的网络名,且必须大写
#Example:
#beatux LMID=somename
MAXWSCLIENTS=1 #如果不设置这个变量,则启动该服务时报错,数量可根据需要进行设置,在此只设置运行最多一个客户端同时访问
*GROUPS
GROUP1
LMID=somename GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
tanServer SRVGRP=GROUP1 SRVID=1
WSL SRVGRP=GROUP1 SRVID =300
CLOPT="-A -- -n //192.16.16.159:10000 -d/dev/tcp -m1 -M5 -x 10" #发布的Tuxedo服务的本机ip和端口
*SERVICES
FIRST
保存该文件为ubbfist,其实Tuxedo服务是通过WSL数据通信来对外公开的,所以在ubb中一定要配置WSL服务,而且客户端也必须设置WSNADDR
然后运行:
tmloadcf ubbFirst(保存的ubb文件名)
然后输入y来生成配置文件
成功之后,则可以启动这个服务了tmboot -y
二、客户端
客户端安装完成之后,将服务器端的Tuxedo\bin下面的libtux.dll复制到客户端的Tuxedo\bin下面,运行时需要这个动态库(不知道为什么)
客户端也需要配置环境变量
TUXDIR=c:\bea\tuxedo8.1
path=...(其他path变量);%TUXDIR%\bin
在client程序中,需要加入
tuxputenv(“WSNADDR=//192.16.16.159:10000”);//访问Tuxedo服务器WSL服务的ip和端口
然后再执行tpinit等操作
编译已经写好的client程序,如
buildclient -w -o Client -f Client.cpp
这里需要注意的是必须加入-w这个编译项,否则无法init
然后就运行该client客户端程序,如果一切顺利,就可以使用Tuxedo服务了