如鵬網 大學生計算機學習社區

          CowNew開源團隊

          http://www.cownew.com 郵件請聯系 about521 at 163.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks
          ??????當使用多個資源合作解決一個問題的時候,必須使這些資源在一個事務中進行合作。為了實現這一目的,將事務分為兩個階段進行:
          ??????第一階段開始時,向此事務涉及到的全部資源發送提交前信息。此時,事務涉及到的資源還有最后一次機會來回滾事務。如果任意一個資源決定回滾事務,那么整個事務將被取消。否則,事務會被提交。
          第二階段只是在第一階段沒有回滾時才會發生。在這個階段,所有的能被定位和單獨控制的資源都將真正的更新。
          ??????事務被分割成兩個階段來完成,這被稱為兩階段提交協議。如果程序在同一個操作中需要訪問多種資源,您就要使用兩階段提交事務。例如,如果從 JMS 隊列中刪除一個消息,并且隨后更新數據庫中基于這條消息的紀錄,這時,要保證這兩個操作的原子性。不應該出現一條消息已經從隊列中被刪除,而系統沒有更新與此消息相關的數據庫中的紀錄的情況??梢酝ㄟ^應用程序的代碼在數據庫更新失敗的時候 "撤銷"對隊列的操作。但是這樣做并不還,因為當程序在執行“撤銷”操作的過程中服務器突然崩潰的話就會導致數據出現不一致。作為替代的方式,應該使用兩階段提交事務。
          posted on 2007-03-06 09:20 CowNew開源團隊 閱讀(366) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 浦东新区| 台东县| 纳雍县| 武冈市| 汝阳县| 沙湾县| 庄河市| 通城县| 达孜县| 建始县| 云浮市| 册亨县| 扶风县| 安溪县| 大荔县| 土默特左旗| 乐山市| 灵武市| 合作市| 深水埗区| 沂南县| 宜川县| 紫金县| 阜宁县| 宝坻区| 塔城市| 铜梁县| 卢氏县| 壤塘县| 凌云县| 全椒县| 乌恰县| 许昌县| 吉木乃县| 资阳市| 绿春县| 宜城市| 加查县| 信丰县| 邵东县| 平阴县|