共用方式為


撰寫Resource Manager

如果您要撰寫服務或元件,而且需要使用交易服務,或需要監視核心交易的狀態,則需要建立資源管理員 (RM) 。

若要撰寫資源管理員,您必須建立多個核心物件。 RM 使用的物件如下:

  • Transaction Manager (TM) 物件
  • Resource Manager物件
  • 登錄物件

首先,建立 TM 物件。 有兩種類型的 TM:

  • 變動性 – 這些 VM 沒有記錄,而且無法復原其狀態
  • 耐久 – 這些 VM 具有記錄

若要建立永久性 TM,您必須建立 CLFS 記錄並呼叫 CreateTransactionManager ,或讓 KTM 為您建立它。 建立永久性 TM 之後,您必須先呼叫 RecoverTransactionManager來復原 TM。 復原 TM 之後,即可使用它。

如果您復原現有的 TM,與這個 TM 相關聯的所有 RM 都會開始接收復原訊息。 如需詳細資訊,請參閱 復原處理

接下來,您可以使用 TM 控制碼呼叫 CreateResourceManager 來建立資源管理員。 RM 可以是變動性或持久性。 只有持久 TM 可以搭配長期 RM 使用。

在交易上工作時,您可以呼叫 CreateEnlistment並指定要接收的通知,以登記交易中。

注意 您可以在 呼叫 CreateEnlistment 完成之前開始接收通知。

當您收到通知時,當與處理通知相關的任何工作完成時,請呼叫適當的 「Complete*」 函式。 完整的函式如下:

如果資源管理員隨時無法完成交易的工作,或如果繼續會讓應用程式無法復原交易內完成的工作,您必須呼叫 RollbackEnlistment來復原交易。