在..../simpapp目录下共有4个文件,分别是README simpserv.c(客户端源程序) simpcl.c(服务器端源程序) ubbsimple(配置文件)
1. 设置环境变量
1.1 tuxedo系统在编译服务器或客户端shirt都需要一些环境变量。可建议一个setenv文件内容为:
. /home/tuxedo/bea/tuxedo9.1/tux.env
APPDIR=/home/tuxedo/bea/tuxedo9.1/samples/atmi/simpapp;export APPDIR
TUXCONFIG=$APPDIR/tuxconfig;export TUXCONFIG
WSNADDR=//192.1.1.121:9999;export WSNADDR
根据实际情况自己设定。
第一行是tux.env所在目录
第二行是simapp所在目录
第三行是simapp的二进制配置文件
1.2 执行环境变量
cd到setenv所在目录,假设为=/home/tuxedo/bea/tuxedo9.1/samples/atmi/simpapp
$. ./setenv
2. 配置文件
除了客户端和服务起程序以外,tuxedo还需要一个配置文件来描述一个tuxedo应用系统所包含的系统资源。修改simpapp下的ubbsimple的内容,改好后为:(注意红色部分)
# (c) 2003 BEA Systems, Inc. All Rights Reserved.
#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.5 $"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the items with the appropriate values.
*RESOURCES
IPCKEY 123456
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="/home/tuxedo/bea/tuxedo9.1/samples/atmi/simpapp"
TUXCONFIG="/home/tuxedo/bea/tuxedo9.1/samples/atmi/simpapp/tuxconfig"
TUXDIR="/home/tuxedo/bea/tuxedo9.1"#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
happy LMID=simple
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 PENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
如果没改直接进行第3步,常有以下错误提示:
2.1 IPCKEY <
syntax error
CMDTUX_CAT:866: ERROR: tmloadcf: Severe error found. Stop syntax checking.
解决方法:对<>按照example进行修改
2.2 CMDTUX_CAT:868: ERROR: tmloadcf cannot run on a non-master node
解决方法:ubbsimple 文件中将改为你的机器名,在windows下使用
echo %computername% 显示机器名,在unix下使用 uname -n 。注意在windows 下,通过hostname 或者 %COMPUTERNAME% 查出来的机器名不论是大小写,在ubb中设置成大写.其实我用小写也执行成功了。
3. 编译与执行
3.1 生成二进制配置文件,长出现问题看2.1 2.2
$tmloadcf -y ubbsimple
3.2 编译客户端程序
$buildclient -o simpcl -f simpcl.c
3.3 编译服务器程序
$buildserver -o simpserv -f simpserv.c -s TOUPPER
此处生成的可执行文件名要与ubbsimple中的相匹配
否则,出项错误 Can't send request to service TOUPPER
3.4 启动tuxedo应用系统
$tmboot -y
3.5 运行客户端
$./simpcl hello
显示Returned string is: HELLO表示测试成功
3.6 关闭tuxedo应用
$tmshutdown -y