<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      java jta

      文檔

      java jta

      JTA是Java事務API,是一個Java企業版的應用程序接口,在Java程序中,允許完成跨越多個XA資源的分布式事務。隔離事務與底層的資源,實現透明的事務管理方式,提供了跨數據庫連接(或其他JTA資源)的事務管理能力。
      推薦度:
      導讀JTA是Java事務API,是一個Java企業版的應用程序接口,在Java程序中,允許完成跨越多個XA資源的分布式事務。隔離事務與底層的資源,實現透明的事務管理方式,提供了跨數據庫連接(或其他JTA資源)的事務管理能力。

      java jta是什么,讓我們一起了解一下?

      JTA是Java事務API,是一個Java企業版的應用程序接口,在Java程序中,允許完成跨越多個XA資源的分布式事務。隔離事務與底層的資源,實現透明的事務管理方式,提供了跨數據庫連接(或其他JTA資源)的事務管理能力。

      JTA的架構是什么?

      TA的架構包括事務管理器(Transaction Manager)和一個或多個支持 XA 協議的資源管理器 ( Resource Manager ) 兩部分, 我們可以將資源管理器看做任意類型的持久化數據存儲;事務管理器則承擔著所有事務參與單元的協調與控制。

      根據所面向對象的不同,我們可以將 JTA 的事務管理器和資源管理器理解為兩個方面:面向開發人員的使用接口(事務管理器)和面向服務提供商的實現接口(資源管理器)。

      其中開發接口的主要部分即為 UserTransaction 對象,開發人員通過此接口在信息系統中實現分布式事務;而實現接口則用來規范提供商(如數據庫連接提供商)所提供的事務服務,它約定了事務的資源管理功能,使得 JTA 可以在異構事務資源之間執行協同溝通。

      JTA是如何在Java中實現的?

      示例代碼如下:

      ?public?void?transferAccount()?{?
      ?UserTransaction?userTx?=?null;?
      ?Connection?connA?=?null;?
      ?Statement?stmtA?=?null;?
      ?Connection?connB?=?null;?
      ?Statement?stmtB?=?null;?
      ????
      ?try{?
      ???????//?獲得?Transaction?管理對象
      ?userTx?=?(UserTransaction)getContext().lookup("\
      ???????java:comp/UserTransaction");?
      ?//?從數據庫?A?中取得數據庫連接
      ?connA?=?getDataSourceA().getConnection();?
      ?//?從數據庫?B?中取得數據庫連接
      ?connB?=?getDataSourceB().getConnection();?
      ??????
      ????????????????????????//?啟動事務
      ?userTx.begin();
      ?//?將?A?賬戶中的金額減少?500?
      ?stmtA?=?connA.createStatement();?
      ?stmtA.execute("
      ????????????update?t_account?set?amount?=?amount?-?500?where?account_id?=?'A'");
      ?//?將?B?賬戶中的金額增加?500?
      ?stmtB?=?connB.createStatement();?
      ?stmtB.execute("\
      ?????????????update?t_account?set?amount?=?amount?+?500?where?account_id?=?'B'");
      ?//?提交事務
      ?userTx.commit();
      ?//?事務提交:轉賬的兩步操作同時成功(數據庫?A?和數據庫?B?中的數據被同時更新)
      ?}?catch(SQLException?sqle){?
      ?try{?
      ?????????//?發生異常,回滾在本事務中的操縱
      ??????????????????userTx.rollback();
      ?//?事務回滾:轉賬的兩步操作完全撤銷?
      ?//(?數據庫?A?和數據庫?B?中的數據更新被同時撤銷)
      ?stmt.close();?
      ?????????????????conn.close();?
      ?...?
      ?}catch(Exception?ignore){?
      ?}?
      ?sqle.printStackTrace();?
      ?}?catch(Exception?ne){?
      ?e.printStackTrace();?
      ?}?
      ?}

      以上就是小編今天的分享了,希望可以幫助到大家。

      文檔

      java jta

      JTA是Java事務API,是一個Java企業版的應用程序接口,在Java程序中,允許完成跨越多個XA資源的分布式事務。隔離事務與底層的資源,實現透明的事務管理方式,提供了跨數據庫連接(或其他JTA資源)的事務管理能力。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      java jtable java jtextfield java jvm java jxl java kafka java keystore java kmeans java kudu java lamada java leveldb java linklist java linq java list.add java list.contains java locale java localtime java logging java logstash java main java malloc java jstat java jstack java jsonp java jsonfield java jquery java jps java joptionpane java jndi java jmh java jmeter java jit java jetty java jep 計算機管理怎么打開 excel怎么排序 兩個excel如何獨立顯示 微信分組怎么刪除 朋友圈怎么轉發 qq怎么清理緩存和垃圾清理 蘋果手機怎么恢復出廠設置
      Top 少妇高潮太爽了在线视频