XA

XA

XA協定由Tuxedo首先提出的,並交給X/Open組織,作為資源管理器(資料庫)與事務管理器的接口標準。目前,Oracle、Informix、DB2和Sybase等各大資料庫廠家都提供對XA的支持。XA協定採用兩階段提交方式來管理分散式事務。XA接口提供資源管理器與事務管理器之間進行通信的標準接口。XA協定包括兩套函式,以xa開頭的及以ax開頭的。

基本信息

簡介

取決於上下文,XA有多種意思.我們常見的數據庫連線交易中的XA是指由X/Open組織提出的分散式交易處理的規範.XA規範主要定義了事務管理器(TransactionManager)和局部資源管理器(LocalResourceManager)之間的接口.有人說XA是eXtendedArchitecture的縮寫,其實我覺得這僅僅是一種巧合.eXtendedArchitecture是一種CDROM的驅動架構.

操作

以下的函式使事務管理器可以對資源管理器進行的操作:
1)xa_open,xa_close:建立和關閉與資源管理器的連線。
2)xa_start,xa_end:開始和結束一個本地事務。
3)xa_prepare,xa_commit,xa_rollback:預提交、提交和回滾一個本地事務。
4)xa_recover:回滾一個已進行預提交的事務。
5)ax_開頭的函式使資源管理器可以動態地在事務管理器中進行註冊,並可以對XID(TRANSACTIONIDS)進行操作。
6)ax_reg,ax_unreg;允許一個資源管理器在一個TMS(TRANSACTIONMANAGERSERVER)中動態註冊或撤消註冊。

接口詳解

xa連線埠示意圖xa連線埠示意圖
XA接口是雙向的系統接口,在事務管理器(TransactionManager)以及一個或多個資源管理器(ResourceManager)之間形成通信橋樑。事務管理器控制著JTA事務,管理事務生命周期,並協調資源。在JTA中,事務管理器抽象為javax.transaction.TransactionManager接口,並通過底層事務服務(即JTS)實現。資源管理器負責控制和管理實際資源(如資料庫或JMS佇列)。下圖說明了事務管理器、資源管理器,以及典型JTA環境中客戶端套用之間的關係:注意,圖中XA接口形成了事務管理器和資源管理器之間的通信橋樑。因為XA接口的雙向特質,XA支持兩階段提交協定。

相關詞條

相關搜尋

熱門詞條

聯絡我們