JTA和事务管理器(TM)模型
Java Transaction API 允許您操作應用程序中的分布式事務(Distributed Transaction)。JTA 中有一組方法,它將傳統的 JDBC 調用封裝到了兩階段提交(Two-Phase-Commit)協議中。
在異構環境中,您通常會發現一個事務管理器(Transaction Manager),負責處理分布式事務。(實際上,事務管理器可以完成大量的工作負載平衡。)因此,不僅存在到數據庫的直接連接,還有到事務管理器 (Transaction Manager)的連接。這就是 JTA 發揮作用的地方:JTA 是 Java 應用程序和事務管理器(Transaction Manager)之間的接口。下圖演示了一個包含分布式事務的典型環境。
由于存在事務管理器(Transaction Manager),它通常包含在應用程序服務器(Application Server)中,就不再有兩層(Two-Tier)架構。傳統的客戶/服務器(Client/Server)架構已經由三層(Tree-Tier)架構 所取代,三層架構包含應用程序/客戶機、事務管理器(Transaction Manager)/應用程序服務器(Application Server)和數據庫服務器,而數據庫服務器一般稱作XA Resource。
包含 SQL 和 JTA 調用的 Java 應用程序。
管理分布式事務的應用程序服務器(Application Server)。
參與分布式事務的數據庫。
Java 應用程序向應用程序服務器(Application Server)提交常規 SQL 語句和通用的 XA 調用。
應用程序所發送的消息由應用程序服務器(Application Server)進行處理,并使用 SQL 和數據庫供應商特定的 XA 調用發送給數據庫。
通常,應用程序服務器(Application Server)提供了應用程序可以使用的多種服務。在談到分布式事務時,該服務就稱作XA Resource。當然,在應用程序可以使用 XA Resource 之前,首先要在應用程序服務器中注冊和配置 XA Resource。
現在,如果您計劃在應用程序中使用 JTA,就必須修改代碼,以便還可以與應用程序服務器(Application Server)進行通信。這包括一些附加的方法調用和指定的錯誤/異常處理
參考:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0505weber/index.html
總結
以上是生活随笔為你收集整理的JTA和事务管理器(TM)模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每天定时打开某个网页_Python科普帖
- 下一篇: python 人气高的项目_给大家推荐: