分类:
2009-08-22 13:29:48
⑴.怎样编辑配置文件
#ident "@(#) apps/simpapp/ubbsimple $Revision:
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
# 将<>里而的内容替换成实际值.
*RESOURCES
IPCKEY
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
*MACHINES
DEFAULT:
APPDIR="
TUXCONFIG="
TUXDIR="
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
# 对于NT平台,可以替换成如下值
# APPDIR="G:\JQEJB\simpapp"
# TUXCONFIG="G:\JQEJB\simpapp\tuxconfig"
# TUXDIR="G:\Program Files\BEA System\Tuxedo"
#Example:
#JQ LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
⑵.加载配置文件
$ tmloadcf ubbsimple
Initialize TUXCONFIG file: /usr/me/simpdir/tuxconfig [y, q] ? y
$
⑴.执行tmboot启动应用程序
$tmboot
Boot all admin and server processes? (y/n): y
Booting all admin and server processes in
/usr/me/simpdir/tuxconfig
Booting all admin processes ....
exec BBL -A:
process id=24223 ... Started.
Booting server processes ...
exec simpserv -A :
process id=24257 ... Started.
2 processes started.
BBL是应用程序中监视共享内存结构的管理进程,simpserv是连续运行的simpapp服务程序,它等待着处理请求。
$ simpcl “hello, world”
Returned string is: HELLO, WORLD
作为管理者,你可以使用tmadmin命令解释器来检测一个应用程序,并作一些动态的改变,要运行该命令,你必须设置TUXCONFIG环境变量。tmadmin可以解释超过50个命令,要看完整的列表,请看tmadmin(1),这里我们使用了两个tadmin命令。
⑴.输入如一命令:
$tmadmin
显示:
tmadmin - Copyright (c) 1999 BEA Systems, Inc. All rights
reserved.
>
⑵.输入printserver(psr)命令,显示:
> psr
a.out Name Queue Name Grp Name ID RqDone Load Done Current Service
-------------- --------------- ------------- -- --------- -------------- ------------------
BBL 531993 simple 0 0 0 ( IDLE )
simpserv 00001.00001 GROUP1 1 0 0 ( IDLE )
⑶.输入printservice(psc)命令,显示:
Service Name Routine Name a.out Name Grp Name ID Machine # Done Status
------------ --- ------------------ ------------- ------------ --- ---------- --------- ---------
TOUPPER TOUPPER simpserv GROUP1 1 simple - AVAIL
>
⑴.运行tmshutdown命令来关闭应用程序
$ tmshutdown
Shutdown all admin and server processes? (y/n): y
Shutting down all admin and server processes in
/usr/me/simpdir/tuxconfig
Shutting down server processes ...
Server Id = 1 Group Id = GROUP1 Machine = simple: shutdown
succeeded.
Shutting down admin processes ...
Server Id = 0 Group Id = simple Machine = simple: shutdown
succeeded.
2 processes stopped.
$
⑵.检查ULOG文件
$ cat ULOG*
$
113837.tuxmach!tmloadcf.10261: CMDTUX_CAT:879: A new file system
has been created. (size = 32 4096-byte blocks)
113842.tuxmach!tmloadcf.10261: CMDTUX_CAT:871: TUXCONFIG file
/usr/me/simpdir/tuxconfig has been created
113908.tuxmach!BBL.10768: LIBTUX_CAT:262: std main starting
113913.tuxmach!simpserv.10925: LIBTUX_CAT:262: std main starting
113913.tuxmach!simpserv.10925: Welcome to the simple server
114009.tuxmach!simpserv.10925: LIBTUX_CAT:522: Default
tpsvrdone() function used.
114012.tuxmach!BBL.10768: CMDTUX_CAT:26: Exiting system
bankapp是BEA Tuxedo系统提供一个简单的银行应用程序,它完成如下功能:打开和关闭账号,查询账号余额,存款和取款,账号之间转账。
BEA Tuxedo系统提供了一个演示数据库,bankapp例子中有很多个地方使用了命令和SQL代码来访问它。bankapp由如下文件组成:
源文件 |
生成的文件 |
内容说明 |
ACCT.ec |
ACCT.c, ACCT.o, ACCT |
包括两个服务:OPEN_ACCT和CLOSE_ACCT 用于打开和关闭账号 |
ACCTMGR.c |
ACCTMGR |
订阅事件和记录通告日志的服务器,包含: WATCHDOG 和 Q_OPENACCT_LOG 服务 |
AUDITC.c |
AUDITC |
包括一个会话服务器处理来自客户端auditcon的请求 |
BAL.ec |
BAL.c, BAL.o, BAL |
包括一组服务:ABAL, TBAL, ABAL_BID, 和 TBAL_BID 允许audit客户获得银行或支行账号以及余额 |
BALC.ec |
BALC.c, BALC.o, BALC |
包括两个服务:ABALC_BID和TBALC_BID。这些服务和TBAL_BID,ABAL_BID是一样的。 |
bankmgr.c |
bankmgr |
订阅特定事件客客户程序 |
cracl.sh |
- |
用于创建访问控制列表ACL以演示ACL安全的shell脚本 |
crqueue.sh |
- |
notification.用于创建应用程序队列以供事件通告使用的shell脚本 |
crusers.sh |
- |
创建用户和组以演示验证安全级别的shell脚本 |
Event.flds |
- |
在事件特征中用到的字段表文件 |
FILES |
- |
bankapp用到的所有文件列表 |
README |
- |
在除NT以外的所有平台上安装指南 |
README.nt |
- |
NT平台上的安装指南 |
README2 |
- |
在bankapp中演示新特性的自述文件 |
README2.nt |
- |
在NT平台上演示新特性自述文件 |
RUNME.cmd |
- |
在NT平台上创建、配置、启动、关闭应用程序的交互式脚本 |
RUNME.sh |
- |
UNIX平台下的脚本文件,功能同上 |
showq.sh! |
- |
显示消息队列的状态和内容的shell脚本 |
TLR.ec |
TLR.c, TLR.o, TLR |
包含三个服务:WITHDRAWAL, DEPOSIT和INQUIRY |
usrevtf.sh |
- |
创建供TMUSREVT服务器使用的ENVFILE文件 |
XFER.c |
XFER.o, XFER |
包括TRANSFER服务 |
aud.v |
aud.V, aud.h |
一个在audit 客户和BAL服务器之间使用的FML view |
appinit.c |
appinit.o |
包含供所有服务器(除TLR以外)使用的用户自定义版的tpsvrinit()和tpsvrdown() |
audit.c |
audit.o, audit |
通过ABAL, TBAL, ABAL_BID和TBAL_BID 服务获得银行及支行账号和余余额的客户程序 |
auditcon.c |
auditcon |
Audit的交互式版本,使用ABAL, TBAL, ABALC_BID和TBALC_BID.服务 |
bankapp.mk |
- |
UNIX下应用程序Make文件 |
bankapp.nt |
- |
NT平台下应用程序的Make文件 |
bank.flds |
bank.flds.h |
由服务器使用,包含银行数据库和辅助FML字段文件 |
bank.h |
- |
Bankapp应用程序的头文件 |
Bankvar |
- |
包括bankapp使用的环境变量,其它环境变量在ENVFILE中定义,后者被前者调用 |
Crbank.sh |
crbank |
为bankapp在SHM模式下运行时创建数据的shell脚本 |
crbankdb.sh |
crbankdb |
为一个服务器组创建数据库的shell脚本 |
crtlog.sh |
crtlog, TLOG |
在master站和non-master站的UDL上创建UDL和TLOG的shell脚本 |
driver.sh |
driver |
通过FML缓冲区驱动应用程序的shell脚本 |
Envfile.sh |
envfile, ENVFILE |
创建供tmloadcf使用的ENVFILE文件的shell脚本 |
gendata.c |
gendata |
生成10个支行,30个出纳员及200个账号的程序 |
gentran.c |
gentran |
从DEPOSIT, WITHDRAWAL, TRANSFER和INQUIRY.生成事务请求的程序 |
populate.sh |
populate |
通过FML缓冲区向数据库中插入支行、出纳员、和账号信息的shell脚本 |
Ubbmp |
TUXCONFIG |
在MP-mode下使用的UBBCONFIG文件 |
Ubbshm |
TUXCONFIG |
在SHM-mode下使用的UBBCONFIG文件 |
util.c |
util.o |
包含一组由服务使用的函数,如getstr1()等 |
bankclt.c |
bankclt |
Bankapp的客户程序 |