在相同交易中,協調存取具備一段式確定功能和具備兩段式確定功能的資源
最後一個參與者支援容許在相同廣域交易中,使用單個具備一段式確定功能的資源,與任意數量具備兩段式確定功能的資源。 您可以在相同交易內的多次互動中涉及一段式確定資源,但只能涉及一個這樣的資源。
在確定交易時,首先是利用兩段式確定通訊協定來準備兩段式確定資源,如果成功,再呼叫一段式確定資源進行確定。 之後,再根據一段式確定資源的回應來確定或回復兩段式確定資源。
- 主要實務是在啟動交易的應用程式伺服器程序(「交易根」伺服器)中存取一段式確定資源提供者。
在這個實務中,「最後一個參與者支援」可以在相同交易中協調一個具備一段式確定功能的資源,以及任意數量具備兩段式確定功能的資源。
- 在並非啟動交易的應用程式伺服器(「交易子層」伺服器)中存取一段式確定資源提供者;例如,因為在遠端 EJB 介面上進行交易呼叫,EJB 實作在這個介面存取一段式確定資源提供者。
在這個實務中,交易通常無法確定。 如果要能夠確定(這是廣域交易的一部分)交易子層伺服器中列出的某個一段式確定資源,交易服務必須將協調責任從交易根委派給子層伺服器。 只有在沒有任何其他資源登錄於交易根伺服器時,才可能這樣做。
「最後一個參與者支援」在交易中帶來了更大的探索性輸出結果風險。 換言之,交易管理程式無法確保所有資源都是按同一方向(已確定或已回復)來完成。 因此,為了使應用程式能夠在相同交易中協調存取具備一段式確定功能和具備兩段式確定功能的資源,您可以將應用程式配置為接受探索性風險,也就是接受更大的探索性輸出結果風險。
如果交易服務 (JTS) 未從一段式確定資源的一階段確定流程中收到任何回應,就會出現探索性輸出結果。 在這個狀況下,交易服務無法確定一段式確定資源的變更是已確定,還是已回復,因此無法可靠地得出廣域交易在其他兩段式確定資源上的正確結果。
您可以將應用程式伺服器的交易服務配置為接受探索性風險,或者逐一配置各個應用程式來接受探索性風險。 您可以在組合之時,或在部署之後,個別配置各個應用程式。
- 如果要求確定一段式確定資源,就會向活動日誌報告探索性輸出結果。
- 如果未要求確定一段式確定資源,就一貫地回復交易。
涉及一段式和兩段式確定資源的交易異常狀況
涉及一段式確定和兩段式確定資源的交易所可能擲出的異常狀況,與只涉及兩段式確定資源的交易所可能擲出的異常狀況相同。
在 WebSphere Application Server 資訊中心的應用程式設計介面 (API) 參照資訊中,列出了可能發生的異常狀況。