XA协议由Tuxedo首先提出的,并交给X/Open组织,作为
资源管理器(数据库)与
事务管理器的接口标准。
Oracle、
Informix、
DB2和
Sybase等各大数据库厂家都提供对XA的支持。XA协议采用两阶段提交方式来管理
分布式事务。XA接口提供资源管理器与事务管理器之间进行通信的标准接口。XA协议包括两套函数,以xa_开头的及以ax_开头的。
取决于上下文, XA 有多种意思. 我们常见的数据库连接事务中的 XA 是指由 X/Open 组织提出的分布式事务处理的规范. XA 规范主要定义了
事务管理器(Transaction Manager)和局部
资源管理器(Local Resource Manager)之间的接口.
(2)xa_start,xa_end:开始和结束一个本地
事务。
(3)xa_prepare,xa_commit,xa_rollback:预提交、提交和
回滚一个本地事务。
(5)ax_开头的函数使
资源管理器可以动态地在事务管理器中进行注册,并可以对XID(TRANSACTION IDS)进行操作。