交易

交易是定義工作邏輯單位的物件。 只要有參考交易的句柄,交易就會處於作用中狀態,如果交易尚未認可或回復,就會將其視為作用中。 如果已建立交易,而且在認可或回復發生之前,已關閉其所有句柄,則會回復交易。

請考慮建立交易以限定其作業範圍之使用者模式交易客戶端的情況,然後在一或多個資源管理員上執行更新。 發生下列情況:

  1. 用戶端會呼叫 createTransaction函式,以建立交易,並接收該交易的句柄做為傳回值。

    交易可以由任意數目的進程開啟或繼承;因此,每個進程都會參與交易。 其中任何一個進程的失敗會導致交易中止。

    此交易可能尚未持續。 如果交易使用假設中止記錄,則只有已達到備妥狀態的交易才能在系統失敗期間復原。

  2. 用戶端必須明確地將交易傳遞至資源管理員。

  3. 用戶端會使用一或多個 RM 執行其所有交易式作業,例如交易文件系統。

  4. 用戶端會呼叫 commitTransaction 函式。

  5. 資源管理員會收到 KTM 的通知,以準備並認可其數據。

交易和線程

交易與線程不同。 多個線程或進程可以是單一交易的一部分。 相反地,線程可以是不同時間數種不同交易的一部分。

交易函式

下列函式會與交易搭配使用。

功能 描述
CommitTransaction 要求認可指定的交易。
CommitTransactionAsync 要求認可指定的交易。
CreateTransaction 建立新的交易物件。
GetTransactionInformation 傳回所要求之指定交易的相關信息。
OpenTransaction 開啟現有的交易。
RollbackTransaction 要求復原指定的交易。
RollbackTransactionAsync 要求復原指定的交易。 此函式會以異步方式傳回。
SetTransactionInformation 設定指定之交易的交易資訊。