WEB事務:回滾(callback)和補償(compensation)兩個概念的區別


          補償與回滾不同,因為它是一種當工作流中發生違反規則的情況時,取消已成功完成和提交的事務所產生的影響的有效方法。在兩個帳戶間進行資金劃轉的事務是一個典型的回滾示例。第一個調用將資金從一個帳戶中取出,第二個調用將相同數額的資金劃轉至另一個帳戶。只要數據庫支持兩階段提交模型,如果在事務中引發異常,回滾可恢復一致的狀態。

            設想一下一個訂單處理工作流,其中一個事務被用于通過信用卡進行支付。第一步,首先從信用卡中提取資金來支付貨款。然后,在交易成功完成后,該貨物不能再被銷售。如果違反了業務規則,需要按照合適的規定對交易結果進行補償 — 一般是將資金劃入簽帳卡。

          ??補償就是一次真正的操作,只是上一次操作的反操作。
          ?????
          ?? 而回滾是一個取消動作,即取消上一次還沒有完成的操作 ;要能作回滾,就必須鎖定資源啦

          posted on 2006-11-17 17:00 Timothy 閱讀(1382) 評論(0)  編輯  收藏 所屬分類: J2EE開發環境

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告

          語義Web : 網絡就是計算機,軟件就是服務!

          常用鏈接

          留言簿(4)

          隨筆檔案(20)

          文章分類(25)

          文章檔案(25)

          新聞分類(4)

          新聞檔案(4)

          相冊

          收藏夾(27)

          個人主頁

          網絡博客

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 广汉市| 格尔木市| 土默特右旗| 大港区| 且末县| 鲁山县| 得荣县| 屯昌县| 新源县| 融水| 巴青县| 洱源县| 邮箱| 阿合奇县| 刚察县| 乡城县| 滨海县| 临猗县| 昌江| 成武县| 布尔津县| 桑植县| 外汇| 贵德县| 徐汇区| 神木县| 宁国市| 叶城县| 昌黎县| 桦南县| 夏邑县| 隆安县| 红原县| 万全县| 扶绥县| 恩施市| 汉寿县| 西平县| 苍南县| 葫芦岛市| 西峡县|