交易
交易是定義工作邏輯單位的物件。 只要有參考交易的控制碼,交易就會保持運作,而且如果交易尚未認可或回復,則會將其視為作用中。 如果在認可或復原發生之前已關閉交易的所有控制碼,則會回復交易。
請考慮建立交易以限定其作業範圍的使用者模式交易用戶端案例,然後在一或多個資源管理員上執行更新。 發生下列情況:
用戶端會呼叫 CreateTransaction 函式來建立交易,並接收該交易的控制碼做為傳回值。
交易可以由任意數目的進程開啟或繼承;因此,每個進程都會涉及交易。 上述任何進程的失敗會導致交易中止。
此交易可能尚未持續。 如果交易使用假設中止記錄,則只有已達到備妥狀態的交易才能跨系統失敗復原。
用戶端必須將交易明確傳遞至資源管理員。
用戶端會使用一或多個 RM 執行其所有交易作業,例如交易檔案系統。
用戶端會呼叫 CommitTransaction 函式。
資源管理員會收到來自 KTM 的通知,以準備並認可其資料。
交易與執行緒不同。 多個執行緒或進程可以是單一交易的一部分。 相反地,執行緒可以是不同時間數個不同交易的一部分。
下列函式會與交易搭配使用。
函式 | 描述 |
---|---|
CommitTransaction | 要求認可指定的交易。 |
CommitTransactionAsync | 要求認可指定的交易。 |
CreateTransaction | 建立新的交易對象。 |
GetTransactionInformation | 傳回所指定交易的要求資訊。 |
OpenTransaction | 開啟現有的交易。 |
RollbackTransaction | 要求要復原指定的交易。 |
RollbackTransactionAsync | 要求要復原指定的交易。 此函式會以非同步方式傳回。 |
SetTransactionInformation | 設定指定交易的交易資訊。 |