青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

Java基礎:Java事務處理類型/差異總結

一、什么是Java事務

通常的觀念認為,事務僅與數據庫相關。

事務必須服從ISO/IEC所制定的ACID原則。ACID是原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持久性(durability)的縮寫。事務的原子性表示事務執行過程中的任何失敗都將導致事務所做的任何修改失效。一致性表示當事務執行失敗時,所有被該事務影響的數據都應該恢復到事務執行前的狀態。隔離性表示在事務執行過程中對數據的修改,在事務提交之前對其他事務不可見。持久性表示已提交的數據在事務執行失敗時,數據的狀態都應該正確。

通俗的理解,事務是一組原子操作單元,從數據庫角度說,就是一組SQL指令,要么全部執行成功,若因為某個原因其中一條指令執行有錯誤,則撤銷先前執行過的所有指令。更簡答的說就是:要么全部執行成功,要么撤銷不執行。

既然事務的概念從數據庫而來,那Java事務是什么?之間有什么聯系?

實際上,一個Java應用系統,如果要操作數據庫,則通過JDBC來實現的。增加、修改、刪除都是通過相應方法間接來實現的,事務的控制也相應轉移到Java程序代碼中。因此,數據庫操作的事務習慣上就稱為Java事務。

二、為什么需要事務

事務是為解決數據安全操作提出的,事務控制實際上就是控制數據的安全訪問。具一個簡單例子:比如銀行轉帳業務,賬戶A要將自己賬戶上的1000元轉到B賬戶下面,A賬戶余額首先要減去1000元,然后B賬戶要增加1000元。假如在中間網絡出現了問題,A賬戶減去1000元已經結束,B因為網絡中斷而操作失敗,那么整個業務失敗,必須做出控制,要求A賬戶轉帳業務撤銷。這才能保證業務的正確性,完成這個操走就需要事務,將A賬戶資金減少和B賬戶資金增加方到一個事務里面,要么全部執行成功,要么操作全部撤銷,這樣就保持了數據的安全性。

三、Java事務的類型

Java事務的類型有三種:JDBC事務、JTA(Java Transaction API)事務、容器事務。

1JDBC事務

JDBC 事務是用 Connection 對象控制的。JDBC Connection 接口( java.sql.Connection )提供了兩種事務模式:自動提交和手工提交。 java.sql.Connection 提供了以下控制事務的方法:

public void setAutoCommit(boolean)

public boolean getAutoCommit()

public void commit()

public void rollback()

使用 JDBC 事務界定時,您可以將多個 SQL 語句結合到一個事務中。JDBC 事務的一個缺點是事務的范圍局限于一個數據庫連接。一個 JDBC 事務不能跨越多個數據庫。

2JTA(Java Transaction API)事務

JTA是一種高層的,與實現無關的,與協議無關的API,應用程序和應用服務器可以使用JTA來訪問事務。

JTA允許應用程序執行分布式事務處理--在兩個或多個網絡計算機資源上訪問并且更新數據,這些數據可以分布在多個數據庫上。JDBC驅動程序的JTA支持極大地增強了數據訪問能力。

如果計劃用 JTA 界定事務,那么就需要有一個實現 javax.sql.XADataSource javax.sql.XAConnection javax.sql.XAResource 接口的 JDBC 驅動程序。一個實現了這些接口的驅動程序將可以參與 JTA 事務。一個 XADataSource 對象就是一個 XAConnection 對象的工廠。 XAConnection s 是參與 JTA 事務的 JDBC 連接。

您將需要用應用服務器的管理工具設置 XADataSource 。從應用服務器和 JDBC 驅動程序的文檔中可以了解到相關的指導。

J2EE 應用程序用 JNDI 查詢數據源。一旦應用程序找到了數據源對象,它就調用 javax.sql.DataSource.getConnection() 以獲得到數據庫的連接。

XA 連接與非 XA 連接不同。一定要記住 XA 連接參與了 JTA 事務。這意味著 XA 連接不支持 JDBC 的自動提交功能。同時,應用程序一定不要對 XA 連接調用 java.sql.Connection.commit() 或者 java.sql.Connection.rollback() 。相反,應用程序應該使用 UserTransaction.begin() UserTransaction.commit() serTransaction.rollback()

3、容器事務

容器事務主要是J2EE應用服務器提供的,容器事務大多是基于JTA完成,這是一個基于JNDI的,相當復雜的API實現。相對編碼實現JTA事務管理,我們可以通過EJB容器提供的容器事務管理機制(CMT)完成同一個功能,這項功能由J2EE應用服務器提供。這使得我們可以簡單的指定將哪個方法加入事務,一旦指定,容器將負責事務管理任務。這是我們土建的解決方式,因為通過這種方式我們可以將事務代碼排除在邏輯編碼之外,同時將所有困難交給J2EE容器去解決。使用EJB CMT的另外一個好處就是程序員無需關心JTA API的編碼,不過,理論上我們必須使用EJB

四、三種事務差異

1JDBC事務控制的局限性在一個數據庫連接內,但是其使用簡單。

2JTA事務的功能強大,事務可以跨越多個數據庫或多個DAO,使用也比較復雜。

3、容器事務,主要指的是J2EE應用服務器提供的事務管理,局限于EJB應用使用。

五、總結

事務控制是構建J2EE應用不可缺少的一部分,合理選擇應用何種事務對整個應用系統來說至關重要。一般說來,在單個JDBC 連接連接的情況下可以選擇JDBC事務,在跨多個連接或者數據庫情況下,需要選擇使用JTA事務,如果用到了EJB,則可以考慮使用EJB容器事務。

 

 

 

posted on 2009-08-06 18:11 肥仔 閱讀(149) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩欧美不卡在线| 黄色日韩在线| 小嫩嫩精品导航| 这里只有视频精品| 亚洲国产天堂久久国产91| 亚洲综合视频1区| 一本久久a久久免费精品不卡| 亚洲人成网站色ww在线| 国产一区久久| 激情综合网激情| 亚洲人成人99网站| 国产精品乱子乱xxxx| 欧美日韩另类在线| 国产精品久久久久一区二区三区| 国产精品伦理| 伊人男人综合视频网| 亚洲日本成人网| 亚洲一区二区三区免费视频| 亚洲男人第一网站| 裸体一区二区三区| 亚洲国产成人精品视频 | 一本久久a久久精品亚洲| 日韩亚洲欧美一区二区三区| 99精品国产热久久91蜜凸| 亚洲欧美另类综合偷拍| 久久免费高清| 一本色道久久综合亚洲精品婷婷 | 亚洲日韩中文字幕在线播放| 99精品欧美一区二区三区综合在线| 亚洲三级电影全部在线观看高清| 一区二区电影免费观看| 久久精品国产清高在天天线| 欧美激情小视频| 国产精品尤物福利片在线观看| 今天的高清视频免费播放成人| 亚洲经典在线看| 亚洲你懂的在线视频| 久久精品国产综合精品| 亚洲电影免费观看高清完整版| 亚洲一区二区视频| 免费亚洲网站| 国产精品久久国产精品99gif | 欧美呦呦网站| 欧美日韩免费观看中文| 激情欧美国产欧美| 亚洲男人第一网站| 国产一区二区日韩| 欧美国产日韩一区二区| 国产精品女主播一区二区三区| 亚洲乱码日产精品bd| 蜜臀91精品一区二区三区| 亚洲字幕在线观看| 欧美日韩一区二区在线播放| 91久久精品视频| 欧美成人小视频| 另类成人小视频在线| 韩国自拍一区| 久久精品国产欧美激情| 亚洲综合国产激情另类一区| 亚洲精品在线电影| 欧美黄网免费在线观看| 亚洲国产人成综合网站| 久久网站免费| 久久精品国产精品亚洲精品| 国产亚洲激情视频在线| 久久九九有精品国产23| 亚洲欧美日本在线| 国内精品免费午夜毛片| 久久久亚洲国产天美传媒修理工 | 在线免费观看欧美| 久久视频在线看| 欧美制服丝袜| 极品日韩av| 欧美国产第一页| 欧美激情亚洲视频| 亚洲视频大全| 亚洲伊人伊色伊影伊综合网| 国产精品免费一区二区三区在线观看| 亚洲一级特黄| 亚洲美女色禁图| 欧美深夜影院| 亚洲欧美成aⅴ人在线观看| 一本久道久久综合婷婷鲸鱼| 美日韩精品视频免费看| 在线成人www免费观看视频| 奶水喷射视频一区| 亚洲大片在线| 国产精品99免费看 | 国产日韩欧美三区| 久久久久久久综合| 久久久久免费视频| 亚洲精品视频免费| 亚洲精品影院在线观看| 欧美四级伦理在线| 性欧美超级视频| 欧美一区中文字幕| 亚洲电影在线看| 日韩亚洲在线| 国产日本欧美在线观看 | 久久国产一区二区三区| 国产精品性做久久久久久| 午夜亚洲视频| 久久精品免费电影| 亚洲三级免费观看| 亚洲一区二区在| 亚洲大胆av| 亚洲午夜精品一区二区三区他趣| 国产精品久久久久久久久久久久久| 久久在线视频| 欧美日韩三级电影在线| 免播放器亚洲一区| 欧美日韩国产探花| 久久综合色天天久久综合图片| 欧美日韩一区二区在线播放| 欧美69wwwcom| 国产日韩欧美一二三区| 亚洲日本欧美日韩高观看| 国产目拍亚洲精品99久久精品 | 国产精品v片在线观看不卡| 久久精品人人做人人综合| 欧美视频三区在线播放| 欧美成人午夜影院| 怡红院精品视频在线观看极品| 亚洲精品一二三区| 韩国女主播一区| 这里是久久伊人| 亚洲精品美女91| 亚洲一区二区视频在线观看| 欧美资源在线| 91久久久久久国产精品| 一色屋精品视频在线看| 亚洲一级黄色片| 中日韩美女免费视频网站在线观看| 久久久久国产一区二区三区四区 | 国产欧美日韩在线视频| 亚洲美女黄色片| 欧美日韩国产一区二区| 亚洲人成网站999久久久综合| 国产日韩欧美二区| 午夜在线一区| 亚洲免费综合| 国产精品对白刺激久久久| 亚洲人线精品午夜| 亚洲欧洲日本在线| 久久亚洲视频| 老司机免费视频一区二区| 国产精品亚洲综合天堂夜夜| 亚洲自拍偷拍色片视频| 欧美一区二区在线看| 国产一区二区0| 麻豆成人精品| 99热免费精品在线观看| 亚洲深夜激情| 国产精品性做久久久久久| 亚洲欧美在线免费观看| 快播亚洲色图| 亚洲美女视频| 亚洲娇小video精品| 欧美精品18+| 亚洲免费久久| 久久精品国产精品亚洲综合| 国产一区二区日韩精品| 久久一本综合频道| 亚洲欧洲另类| 一本色道88久久加勒比精品| 欧美精品日韩| 午夜精品久久久久影视| 久久亚洲免费| 亚洲私人影院在线观看| 国产一区二区视频在线观看| 免费视频一区二区三区在线观看| 最新中文字幕亚洲| 欧美一级艳片视频免费观看| 亚洲日本中文字幕区| 久久久久久久999| 日韩一区二区精品视频| 国产亚洲欧美日韩日本| 欧美韩国日本综合| 欧美亚洲一区二区三区| 亚洲福利国产| 久久亚洲综合色一区二区三区| 亚洲精品视频免费| 狠狠狠色丁香婷婷综合激情| 欧美日韩天堂| 免费人成精品欧美精品| 欧美在线网站| 亚洲综合视频1区| 亚洲片在线资源| 欧美xxx成人| 久久久久久久一区二区三区| 亚洲欧美www| 99国产精品一区| 午夜在线成人av| 欧美日韩综合在线免费观看| 免费亚洲电影在线| 欧美有码在线视频| 一区二区三区国产在线| 亚洲国产日韩欧美在线图片 | 激情成人亚洲| 国产女优一区|