首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java Transaction API (JTA) 概述

     編輯:Java 程式設計入門

JTA(Java Transaction API)允許應用程式執行分散式交易處理——在兩個或多個網路電腦資源上存取並更新資料。JDBC 驅動程式的 JTA 支持極大增強了資料存取能力。

本文提供 JTA 及分散式交易相關內容的高階概述。一個交易定義了一個邏輯工作單元,要麼完全成功,要麼不產生任何結果。分散式交易只是在兩個或更多網路資源上存取和更新資料的交易,因此這些資源之間必然是等價的。本文重點關注關聯式資料庫系統的處理。

分散式交易處理 (DTP) 模型組件

  • 應用程式
  • 應用程式伺服器
  • 交易管理程式
  • 資源配接器
  • 資源管理程式

後續將描述這些組件及其與 JTA、資料庫存取的關係。

存取資料庫

最好將 DTP 組件視為獨立過程,而非考慮其在特定電腦上的位置。某些組件可置於單機,也可分佈於多機。圖表雖顯示特定電腦上的組件,但組件間操作關係才是首要考量。

最簡單案例:本地資料庫交易的應用程式

關聯式資料庫存取最簡單形式僅包含應用程式、資源管理程式、資源配接器。應用程式是發送請求到資料庫並獲取資料的最終用戶存取點。資源管理程式是關聯式資料庫管理系統(RDBMS),如 Oracle 或 SQL Server,所有實際資料庫管理由其處理。資源配接器是外部空間間的通訊管道或請求轉譯器,本例中為 JDBC 驅動程式。

本地交易流程圖

此例說明簡化系統中的基本資訊流;但現代企業應用程式伺服器增加了其他組件。

應用程式伺服器

應用程式伺服器處理大部分應用程式操作並分擔最終用戶應用程式的負載。它在交易處理中增加了另一個操作層:

含應用伺服器流程圖

目前例說明單一本地交易,已涵蓋 DTP 五個組件中的四個。第五個組件——交易管理程式,僅當交易要分散時才被考慮。

分散式交易與交易管理程式

分散式交易在兩個或更多網路資源上存取和更新資料。資源可以是同一伺服器上不同的 RDBMS(Oracle、SQL Server、Sybase),也可以是分佈在多台伺服器上的同種資料庫實例。無論何種情況,分散式交易包含各資源管理程式間的協同,此協同即交易管理功能。

交易管理程式負責決定提交(commit)或回滾(rollback)任何分散式交易。提交決策導致交易成功;回滾保持資料庫資料不變。JTA 指定交易管理程式與其他組件(應用程式、應用程式伺服器、資源管理程式)間的標準 Java 介面:

JTA 介面關係圖

圖中數字框對應 JTA 三個介面部分:

  1. UserTransaction:javax.transaction.UserTransaction 介面提供應用程式以程式化方式控制交易範圍。其方法開啟全域交易並將調用執行緒與交易關聯。
  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
  • 尾頁
  • 共3頁
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved