久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java編程思想讀書(shū)筆記 - Java編程思想習(xí)題請(qǐng)教: 使用動(dòng)態(tài)代理來(lái)編寫(xiě)一個(gè)系統(tǒng)以實(shí)現(xiàn)事務(wù)?

瀏覽:134日期:2024-02-03 08:12:11

問(wèn)題描述

大家好,小弟最近在學(xué)習(xí)《Java編程思想》第四版,學(xué)習(xí)到第十四章《類(lèi)型信息》中動(dòng)態(tài)代理的時(shí)候,在習(xí)題23后遇到一個(gè)問(wèn)題,使用動(dòng)態(tài)編寫(xiě)一個(gè)系統(tǒng)以實(shí)現(xiàn)事務(wù),不知道該如何解決,特來(lái)請(qǐng)教大家,題目如下:

使用動(dòng)態(tài)代理來(lái)編寫(xiě)一個(gè)系統(tǒng)以實(shí)現(xiàn)事務(wù),其中,代理在被代理的調(diào)用執(zhí)行成功(不拋出任何異常)執(zhí)行提交,而在執(zhí)行失敗時(shí)執(zhí)行回滾。你的提交和回滾都針對(duì)一個(gè)外部的文本文件,該文件不在Java異常的控制范圍之內(nèi)。你必須注意操作的原子性。

該題目英文原文如下:

java編程思想讀書(shū)筆記 - Java編程思想習(xí)題請(qǐng)教: 使用動(dòng)態(tài)代理來(lái)編寫(xiě)一個(gè)系統(tǒng)以實(shí)現(xiàn)事務(wù)?

謝謝大家。

問(wèn)題解答

回答1:

我覺(jué)得,事務(wù)處理的難點(diǎn)在于“恢復(fù)”這部分,要能恢復(fù)就必須得保存現(xiàn)場(chǎng),或者提供有效的逆操作。當(dāng)然,逆操作通常屬于業(yè)務(wù)范疇,既然這里要求使用動(dòng)態(tài)代理實(shí)現(xiàn),進(jìn)行狀態(tài)恢復(fù)應(yīng)該相對(duì)合適一些。

對(duì)于一個(gè)文件操作來(lái)說(shuō),保存狀態(tài)最簡(jiǎn)單粗暴的辦法就是保存文件備份。所以我覺(jué)得這個(gè)動(dòng)態(tài)代理是這樣的

保存要操作的文件備份

調(diào)用被代理的代碼,進(jìn)行本身的業(yè)務(wù)操作(同時(shí)監(jiān)控異常)

發(fā)生異常則恢復(fù)文件備份,否則忽略這一步

刪除文件備份

看我的回答能不能給你提供一個(gè)思路

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 新营市| 荣成市| 福泉市| 桃江县| 休宁县| 黔江区| 万州区| 肇东市| 敦煌市| 屯昌县| 进贤县| 福州市| 兴海县| 巴中市| 扎赉特旗| 永靖县| 清徐县| 荣昌县| 嵊州市| 陆良县| 栾城县| 金坛市| 旬邑县| 侯马市| 南漳县| 仪陇县| 阿克| 正镶白旗| 缙云县| 勃利县| 太康县| 黄石市| 安化县| 龙岩市| 枣庄市| 常山县| 托里县| 钟山县| 富锦市| 昌都县| 安义县|