编译服务器
-----------------------------
TUXEDO提供了buildserver命令来编译服务器进程。(事实上buildserver只完成预编译,它会调用当前操作系统中已经安装的默认C编译器来完成进一步的编译
和连接,最终生成可执行代码。)
buildserver[-s {@filename|service[,service...]:[:func]|:func}][-v][-o outfile]
[-f firstfiles][-l lastfiles][{-r|-g}rmname][-k][-t]
** -v 表示打开VERBOSE模式,即编译过程中打印更多的信息。
** -t 表示支持多线程。如果要使服务器支持多线程,则必须加上这个选项。
** -k 表示保留中间生成的带有main()函数的源程序文件,这个文件通常以"BS-"开头。如果不加-k,生成可执行代码后,这个中间文件会被自动删除。
** -o outfile 指定生成的可执行文件名。
** -f firstfiles 指定要优先于TUXEDO系统库之前连接的文件名。则文件名之间应以空格分隔,并用引号把整个串引起来(如-f "f1.c f2.c f3.c"),
也可以对每个文件使用一个-f选项 (如:-f f1.c -f f2.c -f f3.c)。
** -l lastfiles 指定要在TUXEDO系统库之后连接的文件名,用法同-f.
** -r rmname 指定一个RM文件中定义的入口名,buildserver指示编译程序静态连接与rmname相关的库文件。
** -s 定义服务与函数的映射关系。通常情况下,一个服务与一个同名的函数一一对应。比如,simpserv中的TOUPPER服务就对应于TOUPPER函数。
如果一个服务器实现了多个服(如X、Y和Z),则在编译时,既可以用一个-s来指定(如 -s X,Y,Z),也可以用多个-s来指定(如 -s X -s Y -s Z)。
事实上,一个函数也可以实现多个服务,服务函数可以根据接收参数TPSVCINFO中的name字段来判断定户机调用了哪一个服务,然后再执行相应
的业务逻辑。比如,函数ALL实现了X,Y和Z的业务逻辑,则在编译时,-s选项应该指定为-s X,Y,Z:ALL,逗号前后不能有空格。在某些情色况下,
只有在运行时才知道服务,而在编译时服务名是未知的,在编译这样的服务器时,应该在函数名前面加一个冒号(如 -s:TOUPPER),在运行时,管
理可以使用tmadmin子命令来公告服务(如 adv -g GROUP1 -i l TOUPPER:TOUPPER,冒号前面是服务名,后面是函数名)。
如:
buildserver -o simpserv -f simpserv.c -s TOUPPER
补充:
另如:
使用TUXEDO的别名功能,使交易以不同名字发布,如:
buildserver –f read.c –o read –s READ70,READ80,READ90:READ
编译客户端
-------------------------------------
TUXEDO提供了buildclient命令来编译C语言客户机进程。
buildclient 命令的使用方法如下:
buildclient [-v][{-r rmname |-w}][-o name][-f firstfiles] [-l lastfiles]
** -v 打开VERBOSE模式,即编译过程中打印更多的信息。
** -r rmname 与 buildserver的同名选项功能一致,即用于指定与客户程序相关的资源管理器。rmname是RM文件的一个入口,若客户程序与任何RM
都没有关系,可不指定这个选项。-r不能与-w一起使用,也就是说,-r只适用于本地客户机,因为远程客户机上没有RM文件。
** -w 指示编译器连接工作站库,而不是本地库。连接了工作站库的客户机可以通过TCP/IP访问远程TUXEDO服务器,而连接了本地库的客户机只能
通过共享内存连接本地TUXEDO服务器。
** -o name 指定生成的目标文件名。如果不指定,在UNIX会下生成a.out。
** -f firstfile 指定要优先于TUXEDO系统库之前连接的文件名。如果有多个文件,则文件名之间应以空格分隔,并用引号把整个串引起来(如 -f
"f1.c f2.c f3.c"),也可以对每个文件使用一个-f选项(如 -f f1.c -f f2.c -f f3.c)
** -l lastfiles 指定要在TUXEDO系统库之后连接的文件名。
如:buildclient -o simpcl -f simpcl.c
编译加载配置文件
---------------------------------------------
ASCII形式的配置文件不能直接被TUXEDO系统识别,需要使用tmloadcf命令把它转换成二进制形式才。
tmloadcf命令格式如下:
tmloadcf[-n][-y][-c][-b blocks][UBBCONFIG_file]
** -n 只对配置文件做语法检查,不做转换。
** -y 在确认是否初始公或覆盖二进制配置文件时,响应YES.
** -c 打印在当前配置下,所需要的最小的IPC资源数量。
** -b 如果二进制配置文件还没有初始化,-b用于指定它的最大尺寸。
在执行tmloadcf之前,要确保已经设置了TUXCONFIG环境变量,因为它指定了生成的二进制配置文件的名字和存放的位置。
分享到:
相关推荐
你需要将VC6的安装路径添加到系统的PATH环境变量中,这样在任何目录下都能执行VC6的编译命令。 执行“setenv”命令是用来设置TUXEDO的环境变量,包括TUXDIR(TUXEDO的安装目录)、PATH、LIB、INCLUDE等。这些环境...
- **命令介绍**:`tmloadcf` 用于将ubbsimple配置文件编译成二进制配置文件,是Tuxedo环境中非常重要的一个配置步骤。 - **使用示例**: ```shell tmloadcf -y ubbsimple ``` 其中,`-y` 参数表示强制覆盖已存在...
4. **编译与执行**:利用buildclient和buildserver命令分别编译客户端和服务器端源代码,生成可执行文件。 5. **启动与管理**:tmboot命令用于启动服务器端应用环境,tmadmin用于显示和修改运行中的进程参数,而...
### Tuxedo常用命令详解 #### 一、`buildclient`命令详解 `buildclient`命令主要用于构建客户端程序,使得客户端能够与Tuxedo中间件进行通信。 **语法:** ``` buildclient [-v][-C] -o executable -f first-file ...
编译ubbconfig文件以生成可执行的tuxconfig二进制文件,使用`tmloadcf –y ubbconfig`命令。如果`OPENINFO`使用的是明文密码,可以直接编译;如果是暗文,系统会提示输入密码。如果在编译过程中遇到`CMDTUX_CAT:87...
3. **编译和绑定**:使用`tuxmake`工具编译服务,并使用`tbind`命令将服务绑定到ORB。 4. **启动TUXEDO服务器**:通过`tuxconfig`配置文件启动服务器进程。 5. **编写客户端**:客户端使用ATMI API调用服务,进行...
2. **启动与停止**:使用start_tux和stop_tux命令启动和关闭Tuxedo系统。 3. **性能监控**:Tuxedo提供多种工具如tuxstat和tmmon来监控系统状态和性能。 五、Tuxedo应用开发 1. **服务定义**:编写服务描述文件(....
`tmloadcf`命令用于部署Tuxedo的配置文件到集群中的各个节点。使用时需要确保有足够的权限,并且正确指定了配置文件的位置。 **2.13 Tuxedo负载均衡** Tuxedo支持多种负载均衡策略,如轮询、随机等。通过在UBB文件...
- **配置环境变量**:将`/home/tuxedo/tuxedo12.1.1.0/`目录下的`tux.env`文件中的环境变量复制到用户根目录下的`.bash_profile`文件中,并通过`source .bash_profile`命令使环境变量生效。 - **创建示例应用目录**...
4. 启动与停止:使用`tmd`命令启动和停止TUXEDO服务。例如,`tmd start`启动服务,`tmd stop`停止服务。 5. 验证配置:通过`tmadmin`工具检查配置是否正确,以及服务器和客户端是否能正常通信。 6. 开发与调试:...
编译 ubb 文本生成二进制配置文件需要使用 tmloadcf –y ubbconfig 命令。在所有机器上运行 tlisten,具体见文档中 NETWORK 一节。启动 tmboot –y,关闭 tmshutdown –y。 二、UBB 文件配置说明 UBB 文件配置文件...
4. 使用`start tuxedo`命令启动Tuxedo服务。 5. 在同一命令行窗口,运行`tuxadmin`,管理Tuxedo服务。 6. 使用`atmiobj -r simpapp`注册示例应用程序。 7. 运行`tuxedo -t UBBSIMPLE`启动示例服务。 8. 使用其他...
这通常涉及编译和运行`simpserv.c`和`simpcl.c`,确保客户端和服务端能够正常通信。 整个安装过程需要谨慎操作,尤其是在配置阶段,因为错误的设置可能导致服务无法启动或功能受限。完成安装后,Tuxedo将作为企业级...
- 开发license(SDK)允许执行编译开发相关命令和管理命令。 - 运行license(RTK)仅支持管理命令,如启动、停止服务器和更新配置,但不允许编译应用。 - 安装时可指定lic.txt的位置,或者在安装完成后将文件复制到...
- **编译UBB文本**:使用`tmloadcf`命令将UBB配置文本转换成二进制格式,例如`tmloadcf ?Cy ubbconfig`。 - **启动监听器**:通过`tlisten`命令在所有机器上启动监听器,以监听网络通信。 - **启动tmboot**:使用`...
服务进程由`buildserver`编译生成,不包含`main()`函数,启动和关闭需借助Tuxedo工具`tmboot`和`tmshutdown`。 应用环境配置: 环境变量的设置对Tuxedo的运行至关重要,通常这些变量放在用户的`.profile`文件中,或...
`ubbsimple`可能是为了演示如何定义、编译和运行Tuxedo服务的基本步骤,这对于初学者来说是非常有价值的实践。 在配置Tuxedo时,还需要注意以下几个方面: 1. **Tuxedo域(Domain)配置**:Tuxedo应用运行在特定的...
3. 执行命令,令配置生效,并查看生效之后的结果。 4. 编译服务器程序和客户端程序。 在配置完成后,Tuxedo Linux 就可以正常工作了。 知识点: * Tuxedo Linux 安装和配置的步骤 * 如何从 Oracle 官网下载 ...