闲来无事在win7上装了个tuxedo玩一下,软件的下载和安装就不说了,主要讲讲配置simpapp,因为tuxedo这玩意配置起来真够麻烦,不光是windows上会碰到各种问题,及时是在linux/nuix上也同样问题不小。
软件我是早就装好了,当时最新版本还是11,现在已经到12啦,可以到
http://www.oracle.com/technetwork/middleware/tuxedo/downloads/index.html?ssSourceSiteId=ocomen
去下载。
本文只将本地服务端本地客户端的,远程客户端的由于没有装虚拟机,又没有多余的机器,就暂且不说了,不过大家用兴趣可以参考这篇文章,写的挺好的,我也参考了里面是不少内容:
http://blog.csdn.net/wxb_nudt/article/details/3991060
要配置运行simpapp,需要经过以下几个步骤:
修改setenv.cmd,配置环境变量-->修改ubbsimple,并加载配置文件-->编译服务端和客户端程序-->启动tuxedo-->运行客户端程序-->关闭tuxedo
接下来就按照步骤来操作,本文主要是将过程中可能碰到的问题都列一下,并给出解决办法。
1.修改setenv.cmd,配置环境变量
setenv.cmd的内容大概是这样的
echo off
set TUXDIR=<这里填tuxedo的安装目录,注意不要加引号等多余的符号>
rem set WSNADDR=<address of the server; only if this is a workstation client> <这是远程才要配置的>
set APPDIR=<这里填应用程序的目录,即simpapp所在的目录>
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig
call "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"<第一步不需要这行但没有会报错,后面会提到的>
首先我们打开cmd窗口(尴尬的是win7无法最大化cmd窗口,不过可以通过属性强制调整窗口大小,只是麻烦了点),cd到APPDIR,然后运行setenv.cmd就可以了。
2.修改ubbsimple,并加载配置文件
这一步就可能出现各种错误了,ubb文件主要内容如下:
*RESOURCES
IPCKEY 123456
#这个IPCKEY可以随便填
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR=<这里填应用程序的目录,即simpapp所在的目录>
TUXCONFIG=<这里填TUXCONFIG的生成路径,是完整路径,一般跟ubbsimple同目录>
TUXDIR=<这里填tuxedo的安装目录,这里可以加引号>
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
<这里填计算机名称> LMID=simple
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
其实要修改的地方不多,就是几个路径和计算机名称。计算机名不必多说了,看“我的电脑”属性或直接输命令echo %COMPUTERNAME%都能获得。值得注意的是,这里所有的字母必须大写,即使是小写也要改成大写,否则就报错啦。
使用以下命令来加载ubb:
如果一切正常,那么在APPDIR里面应该就会生成一个tuxconfig的二进制文件了。经过这步ubbsimple和tuxconfig的关系就非常明显了,ubbsimple是文本格式的配置文件,给人修改查看用的,而tuxedo本身要使用的是编译成二进制文件的tuxconfig文件。
前面说过修改ubbsimple必须注意路径的正确,以及计算机名必须正确和全部大写。现在来试一下如果有小写会怎么样,啊哦,当然报错了:
CMDTUX_CAT:868: ERROR: tmloadcf cannot run on a non-master node
估计很多人都会碰到这个错误吧,就是计算机名不正确,或者有小写字母了。
3.编译服务端和客户端程序
源程序都已经是给好的了,即simpcl.c和simpserv.c两个文件,分别是客户端和服务端源文件。功能也非常简单,就是输入一组字符串,然后服务端变成大写并返回显示。并且makefile也给号了,即simpapp.nt,如果要使用makefile来编译,就使用以下命令:
一般情况下又会报错啦,会报nmake不是内部命令。nmake是vc的编译程序,但在windows的环境下一般情况下我们都是在集成开发环境(如visual studio2010)中进行开发工作的,因此namke的目录并不在环境变量path中,当然找不到命令了。解决办法也很简单,就是在环境变量path中把namek的路径加进去嘛。不过要注意不同操作系统和vc的版本,其路径可能不同。比如我的是:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
如果不想用或没有makefile,也可以分别编译客户端和服务端,其实就是摘抄里面是两个命令罢了:
buildserver -s TOUPPER -o simpserv -f simpserv.c
buildclient -o simpcl -f simpcl.c
--转自