共用方式為


生成和設定LUWID]

工作單位標識碼 (LUWID) 用來識別屬於單一同步點交易一部分的交談。 與相同 LUWID 的所有事務都會同時提交(或回退)。

主機整合伺服器會在啟動 TP 時,將兩個 LUWID 指派給交易程式。 針對本地啟動的 TP,這是在發出 TP_STARTED 動詞時。 第一個 LUWID 是 TP 保護的 LUWID。 主機整合伺服器會使用它作為 TP 所配置之所有 同步處理層 AP_SYNCPT交談的 LUWID。 當 TP 發出具有 AP_SYNCPT 同步等級的 ALLOCATEMC_ALLOCATE 動詞時,主機整合伺服器會生成包含 TP 當前受保護 LUWID 的附件。

第二個 LUWID 是 TP 未受保護的 LUWID。 它用於所有 TP 配置的交談,且同步層級不包括 AP_SYNCPT。

針對遠端起始的 TP,如果連入的附加在交談具有 同步級別 為 AP_SYNCPT 時,則必須包含 TP 的 LUWID。 針對同步點交談,主機整合伺服器會將 LUWID 儲存為 TP 保護的 LUWID,併為其產生新的未受保護的 LUWID。 對於與 Sync Point (AP_SYNCPT) 以外的 synclevel 交談,主機整合伺服器會將 LUWID 儲存為 TP 未受保護的 LUWID,併產生新的受保護的 LUWID。

主機整合伺服器會串連下列內容來產生 LUWID:

  • 本機 LU 的完整名稱,前面加上單一位元組,表示其長度(不含長度位元組)。

  • 從目前日期和時間產生的6位元組LUW實例編號(已修改以確保必要時的唯一性)。

  • 初始化為 1 的 2 位元組 LUW 序號。

    如果 LUWID 的完整 LU 名稱元件長度不是 17 個字節,則主機整合伺服器將不會在它與 LUW 實例編號之間新增任何填充。 應用程式可以透過檢查 LUWID 的第一個字節來判斷 LUWID 的長度,以及 LUW 實例編號和 LUW 序列號的位移。這個第一個字節指示完整 LU 名稱的長度。

    當 Host Integration Server 為 TP 產生受保護和未受保護的 LUWID 時,未受保護的 LUWID 是透過增加受保護 LUWID 的實例號碼來創建的。

    受保護的 LUWID 必須因下列四個原因之一而由 TP 變更:

  • 當交易遭到撤銷或認可時,LUWID 序號必須遞增。

  • 如果交易樹狀結構已分割,則必須為 TP 產生新的 LUWID。

  • 如果應用程式使用多個邏輯 TP 來實作交易,則每個 TP 都必須有相同的 LUWID(不同於主機整合伺服器指派的 LUWID)。

  • 如果應用程式充當來自非 SNA 環境的閘道,且 LUWIDs 是透過非附加的其他方式接收的。

    若要允許 TP 設定或產生新的 LUWID,APPC API 會提供新的動詞, SET_TP_PROPERTIES。 這個動詞可讓 TP 將其 LUWID 設定為現有的值,或者產生新的 LUWID 並開始使用它們。 當主機整合伺服器產生新的 LUWID 時,它保證是唯一的。

    請注意,當受保護的 LUWID 變更時,應用程式會負責將新的 LUWID PS 標頭傳輸至合作夥伴同步點系統。 同樣地,收到新的 LUWID PS 標頭時,應用程式必須發出 SET_TP_PROPERTIES通知 LU。