<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    阿寶 Keep Walking......


    JUST DO IT, DO YOUR BEST ! -- 勿在浮沙筑高臺

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      49 Posts :: 6 Stories :: 26 Comments :: 0 Trackbacks
    1. Transaction 分兩種,Local Transaction 和 Global Transaction。
    涉及到一個Connection的Commit,稱為Local Transaction。
    涉及到多個Connection的Commit,稱為Global Transaction。
    樓主提到的是,Global Transaction.

    2. Global Transaction 需要XA接口(包括在JTA里面)的支持。

    import javax.sql.XAConnection;
    import javax.transaction.xa.Xid;
    import javax.transaction.xa.XAResource;
    import javax.transaction.xa.XAException;
    import javax.transaction.Transaction;
    import javax.transaction.TransactionManager;

    其中的
    javax.sql.XAConnection;
    javax.transaction.xa.Xid;
    javax.transaction.xa.XAResource;

    這些XA接口的實現,需要數據庫的JDBC提供。
    數據庫本身要支持XA。數據庫的JDBC也要提供XA的實現。

    Oracle, Sybase, DB2, SQL Server等大型數據庫才支持XA, 支持Global Transaction。
    My SQL 連Local Transaction都支持不好,更別說Global Transation了。

    3. XA需要兩階段提交 -- prepare 和 commit.
    假設有兩個Connection, con1, con2, 大體的過程如下,

    con1 = XAResouce1.getConnection...
    con2 = XAResouce2.getConnection...

    con1 do some thing.
    con2 do some thing.
    after they finish.

    pre1 = XAResouce1.prepare();
    pre2 = XAResouce2.prepare();

    if( both pre1 and pre2 are OK){
    XAResouce1 and 2 commit
    }else {
    XAResouce1 and 2 rollback
    }

    前面有人講了,在XAResouce1 and 2 commit的時候,
    可能XAResouce1 commit() 成功了,XAResouce2 commit()失敗了。
    這時候,會拋出一個 “啟發式異常”。程序可以處理這個異常。比如,XAResouce.recover()之類。
    但一般情況下,還真沒別的辦法,需要數據管理員根據數據操作日志 undo所有的操作,或者恢復數據備份。
    有的數據庫在進行數據操作的時候,會生成一個“反操作”日志。比如,insert 對 delete, 等。

    4. TransactionManager的實現能夠處理多個XAResouce(一個XAResouce list)的情況。
    比如Tyrex。或JBoss等EJB Server的Transaction實現代碼。
    posted on 2006-06-01 11:56 阿寶 閱讀(1865) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 1024免费福利永久观看网站| 91av免费观看| 免费人成在线观看网站品爱网日本| 久久久久se色偷偷亚洲精品av| 99re在线视频免费观看| 久久久国产精品亚洲一区| 日韩精品人妻系列无码专区免费| 亚洲va在线va天堂va888www| 久久青草免费91线频观看站街| 久久久久亚洲AV片无码下载蜜桃| 最近2022中文字幕免费视频| 亚洲午夜电影在线观看| 午夜一区二区免费视频| 麻豆安全免费网址入口| 中文字幕亚洲一区二区va在线| 在线观看免费无码视频| 亚洲今日精彩视频| 在线观看特色大片免费视频| 亚洲国产精品无码久久久秋霞1| 国产成人免费片在线视频观看| 午夜在线免费视频 | 日本一道在线日本一道高清不卡免费| 亚洲精品无码永久在线观看男男| 午夜两性色视频免费网站| 污网站在线观看免费| 亚洲女初尝黑人巨高清| 久久成人国产精品免费软件| 国产精品亚洲一区二区无码| 亚洲无人区午夜福利码高清完整版 | 亚洲一本一道一区二区三区| mm1313亚洲精品无码又大又粗| 国内精品99亚洲免费高清| 亚洲综合激情视频| 国产精品二区三区免费播放心| 中文在线免费不卡视频| 91亚洲自偷在线观看国产馆| 亚洲v国产v天堂a无码久久| 中国xxxxx高清免费看视频| 亚洲av永久无码精品秋霞电影秋| 亚洲中文字幕无码久久精品1| 黄在线观看www免费看|