简述TUXEDO系统的消息通知方式
TUXEDO系统支持4种消息通知方式:
DIPIN
SIGNAL
THREAD
IGNORE
具体使用哪一种消息通知方式可以有配置文件中的NOTIFY参数来指定,可可以有tpinit函数的flags参数来指定。flags可取的对应的四个值分别为
TPU_DIP
TPU_SIG
TPU_THREAD
TPU_IGN
如果flags与NOTIFY同时设置则以flags为准。如果flags与NOTIFY都没有设置默认使用DIPIN,在DIPIN模式下,客户机可以使用tpchkunsol来检测通知消息,调用格式为
int tpchkunsol(void)
在支持信号的系统中,tpchkunsol调用会立即返回,什么也不做。
在支持SIGNAL模式下,当通知消息到达时,TUXEDO 系统的管理进程就给客户端进程发送一个信号,对于本地客户机,只有uid与TUXEDO系统管理进程相同时才能使用SIGNAL模式,对于工作站客户机则没有这种限制。对于DOS客户端和多线程客户端,不能使用SIGNAL模式。
TPINIT的口令部分
Passwd是以NULL终止的8字符的字符串。它是未加密格式的应用口令,该未加密格式被tpinit()用来确认应用口令。
TPINIT的标志部分
Flag的设置用于预示布告机制和将被使用的系统存取模式。可能的标志值是:
TPU_DIP
通过dip_in选择未被恳求的布告。如果配置文件中没有描述,则这就是缺省的方法。当未被恳求信息被处理时,它在“给接受程序更多控制”方面有很大的优越性。仅仅当你在ATMI调用中时系统才为你的客户进程检测未被恳求信息。你或许想为未被恳求信息进行检查,作为你的规则检查的一部分。如果你指定这个标志(或作为缺省方法接受它),则你应该在程序开始包含对tpsetunsol()的调用。直到知道未被恳求信息,才能发送消息。
TPU_IGN
忽略未被恳求布告
TPSA_FASTPATH
描述a)在应用代码内的ATMI调用,能够经共享内存存取BEA TUXEDO系统内在表,b)共享内存不拒绝BEA TUXEDO系统库外的应用代码对它的访问。除非NO_OVERRIDE被指定,否则在UBBCONFIG中会超值。如果SYSTEM_ACCESS模式没被指定,这(TPSA_FASTPATH)就是缺省值。