
理论剖析:
Tuxedo是个BEA的中间件,用于做分布式事务的如下图:
Weblogic里有个配置项叫WTC,weblogic就是通过wtc连接的tuxedo,当有个事务(删除,更新,添加操作)中需要一次完成和多个的操作并且要求同时提交和回滚,在这样的需求下,我们传统的JDBC是无法完成的(因为传统的JDBC是面向单一事务的),这时候就需要使用tuxedo分布式事务中间件,如图:
对上图的剖析:
通常情况下,交易中间件与通过XA 接口规范,使用两阶段提交来完成一个全局事务,XA规范的基础是两阶段提交协议。
在第一阶段,交易中间件请求所有相关准备提交(预提交)各自的事务分支,以确认是否所有相关都可以提交各自的事务分支。aix tuxedo当某一收到预提交后,如果可以提交属于自己的事务分支,则将自己在该事务分支中所做的操作固定记录下来,并给交易中间件一个同意提交的应答,此时将不能再在该事务分支中加入任何操作,但此时并没有真正提交该事务,对共享资源的操作还未释放(处于上锁状态)。如果由于某种原因无法提交属于自己的事务分支,它将回滚自己的所有操作,释放对共享资源上的锁,并返回给交易中间件失败应答。
在第二阶段,交易中间件审查所有返回的预提交结果,如所有都可以提交,交易中间件将要求所有做正式提交,这样该全局事务被提交。而如果有任一预提交返回失败,交易中间件将要求所有其它回滚其操作,这样该全局事务被回滚。
Tuxedo安装:
安装主要步骤:
说明:
Tuxedo的核心配置文件是UBBConfig文件,它里面记录了Tuxedo中间件的配置信息和其上所要部署的C语言编写的应用的信息,编译的过程就是将UBB文件从字符格式编译成二进制。Tuxedo的启动是要读你编译的UBB文件的,默认刚安装完是没有UBB文件的也就是说如果我们不过他写一个UBB的话,tuxedo根本启动不了,tuxedo的samples里有个UBB的例子,我们就借用,改写并编译它。
一、创建组:
使用AIX的smitty工具:smitty group
name:oracle id:500
二、创建用户:
使用AIX的smitty工具:smitty user
name: tuxedo id:501
三、上传介质:
上传介质到:$/tmp/oracle
属组:chown tuxedo:oracle tuxedo10gR3*.bin
权限:chmod 777 tuxedo10gR3*.bin
四、修改环境变量:
用tuxedo用户登录aix,第一次登陆修改密码为:tuxedo
用vi命令修改环境变量:$vi .profile
TUXDIR=/home/tuxedo/tuxedo10gR3
TUXAPP=$TUXDIR/app
TUXCONFIG=$TUXDIR/tuxconfig
TLOGDEVIC=$TUXDIR/tlogdevice
export TUXDIR TUXAPP TUXCONFIG TLOGDEVICE
LD_LIBRARY_PATH=$TUXDIR/lib:.
NLS_PATH=$TUXDIR/locale/c

LANG=C
export NLS_PATH LANG LD_LIBRARY_PATH
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:$TUXDIR/bin:.
export PATH
if [ -s '$MAIL' ] # This is at Shell startup. In normal
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-36670-1.html
这种配合简直默契啊