亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java事務開發常見問題

2024-07-14 08:43:59
字體:
來源:轉載
供稿:網友
 一、了解事務源

  我在面試中經常會問到這樣的一個問題,假如有一個全局變量,在一個事務中修改了這個變量的值,而后這個事務因為別的原因回滾了,那這個變量的值會回滾到更改之前的值么?

  其實事務只能對它所管理的資源進行提交和回滾,這些資源就是事務源,它通常包括數據庫連接資源,JMS隊列資源等。事務的ACID(原子性,一致性,隔離性,持久性)屬性也是針對它所管理的資源而言的。前面問題中的一個全局變量,可以說是內存中的一塊存儲空間,那么內存中的數據如何能具備事務屬性中的持久性呢?很顯然它不在事務的管轄范圍之內,也就不會跟著事務的回滾而回滾了。

  二、何時回滾事務

  在JDBC事務和EJB的Bean管理事務中,我們通常會按下面這種方式控制事務的回滾。在出現某種的異常情況下,我們可以控制讓事務回滾,當然也可以提交這個事務。


    Connection cn = ...
  cn.setAutoCommit(false);
  Statement stmt = cn.createStatement();
  try{
  stmt.executeUpdate("update Order...");
  cn.commit();
  }catch(Exception e) {
  cn.rollback(); //出現異常,回滾當前事務
  }finally{
  stmt.close();
  cn.close();
  }

  但是對于EJB的容器管理事務或者Spring的聲明式事務,就不大一樣了。例如:


      Connection cn = ...
  cn.setAutoCommit(false);
  Statement stmt = cn.createStatement();
  try{
  stmt.executeUpdate("update Order...");
  cn.commit();
  }catch(Exception e) {
  cn.rollback(); //出現異常,回滾當前事務
  }finally{
  stmt.close();
  cn.close();
  }

  我們只告訴EJB容器這個方法需要事務控制,容器會在方法的開始處啟動一個事務,在方法返回之前提交這個事務。那如果中間處理過程中出現異常該怎么辦?默認情況下只有在RuntimeException和標注為ApplicationException的異常發成時會回滾事務,而在其他的情況下,事務都會提交。也就是說,在異常發生之前所有的操作都會被提交。這就有可能會出現部分提交的問題。有時為了確保一個方法所有的操作都被提交或者回滾,通常會這樣做:


     @TransactionAttribute(TransactionAttributeType.Required)
  public void updateOrder(Order order) {
  try{
  ...
  }catch(Exception e) {
  throw new EJBException(e);
  }
  }

  在有異常發生時,捕獲這個異常,并把它包裝成一個EJBException,并重新拋出它。因為EJBException繼承了RuntimeException,所以這里拋出一個EJBException告訴EJB容器回滾當前的事務。

  另外需要注意的是另外一個方法:setRollbackOnly(),它與EJBException不同的是,它僅僅標記當前事務需要回滾,在方法執行完成之后容器會檢查它并回滾事務,它并不拋出任何異常。

  相比較EJB,Spring的聲明式事務好像控制的更細致一些。來看下面的例子


     @Transactional(rollbackFor={Exception.class})
  public void updateOrder(Order order) {
  ...
  }

  我們可以告訴Spring哪種類型的異常需要回滾,當然默認的還是只有在發生RuntimeException時事務會回滾。如果大家也在使用這種事務控制方式的話,還是主動告訴容器何時回滾,何時提交事務吧,采用默認值并不是一個好的辦法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本韩国欧美精品大片卡二| 亚洲色图在线观看| 欧美性猛交xxxx久久久| 国产日韩欧美夫妻视频在线观看| 国产精品入口免费视频一| 福利微拍一区二区| 亚洲开心激情网| 少妇av一区二区三区| 红桃av永久久久| 日韩免费电影在线观看| 欧美激情精品久久久久久变态| 色老头一区二区三区在线观看| 久久久久久综合网天天| 精品国产一区二区三区久久狼黑人| 97婷婷涩涩精品一区| 午夜精品一区二区三区在线播放| 日韩精品视频在线观看网址| 亚洲自拍偷拍区| 国产女精品视频网站免费| 91网站免费看| 日韩欧美在线第一页| 欧洲精品毛片网站| 国产日韩一区在线| 日韩一区视频在线| 精品毛片三在线观看| 97人人爽人人喊人人模波多| 91在线免费看网站| 色综合久久88| 日韩免费在线电影| 国产精品九九久久久久久久| 蜜月aⅴ免费一区二区三区| 97国产一区二区精品久久呦| 国产精品高潮在线| 中文日韩电影网站| 国产精品极品尤物在线观看| 久久精品久久久久久国产 免费| 日本精品va在线观看| 国产日韩精品视频| 欧美激情精品久久久久| 欧美日韩激情美女| 3344国产精品免费看| 国产一区二区三区网站| 亚洲va久久久噜噜噜| 国产精品xxxxx| 国产91精品最新在线播放| 91国内揄拍国内精品对白| 日韩av电影在线播放| 亚洲欧美日韩在线高清直播| 久久国产精品首页| 亚洲国产美女久久久久| 久久99精品久久久久久青青91| 国产精品美女www爽爽爽视频| 国产精品美女无圣光视频| 国产精品人成电影| 久久久久久久999精品视频| 久久久99久久精品女同性| 日韩av免费网站| 欧美亚洲国产成人精品| 日韩欧美国产一区二区| 91色精品视频在线| 亚洲男人av在线| 日韩欧美在线视频免费观看| 欧美肥臀大乳一区二区免费视频| 91探花福利精品国产自产在线| 日韩av电影在线播放| 韩剧1988在线观看免费完整版| 91色p视频在线| 亚洲成人av片在线观看| 中文字幕亚洲第一| 91牛牛免费视频| 国语自产精品视频在免费| 成人激情av在线| 91在线观看免费高清| 456亚洲影院| 日韩中文字幕在线视频播放| 国产欧美日韩中文字幕| 国产综合在线看| 日本精品久久电影| 欧美综合一区第一页| 亚洲欧美成人精品| 爱福利视频一区| 成人国产亚洲精品a区天堂华泰| 国产精品99久久久久久www| 亚洲第一男人av| 热99精品里视频精品| 国产综合福利在线| 色哟哟亚洲精品一区二区| 日本久久久久久久久| 亚洲精品永久免费| 午夜精品99久久免费| 欧美日韩xxxxx| 国外成人在线直播| 亚洲毛片在线观看| 一本一本久久a久久精品综合小说| 欧美午夜精品久久久久久浪潮| 91久久嫩草影院一区二区| 色偷偷av一区二区三区| 亚洲国产日韩欧美在线图片| 成人精品aaaa网站| 亚洲免费人成在线视频观看| 久久资源免费视频| 亚洲国产一区二区三区在线观看| 亚洲男人天天操| 国产日本欧美一区| 日韩精品视频在线观看网址| 亚洲男人天堂网站| 91美女片黄在线观看游戏| 久久久人成影片一区二区三区| 成人h猎奇视频网站| 国产做受高潮69| 亚洲影院高清在线| 国外成人免费在线播放| 日韩av网站大全| 久久久久久久久久久91| 97碰碰碰免费色视频| 综合网日日天干夜夜久久| 成人国产在线激情| 成人国产精品av| 97在线精品视频| 色999日韩欧美国产| 精品亚洲国产成av人片传媒| 亚洲开心激情网| 最近2019好看的中文字幕免费| 国产精品偷伦视频免费观看国产| 91精品久久久久| 久久久av一区| 色老头一区二区三区在线观看| 久久久999精品免费| 日韩在线欧美在线| 久久中文字幕在线视频| 日韩电影大全免费观看2023年上| 自拍偷拍亚洲精品| 欧美最顶级丰满的aⅴ艳星| 国产成人精品免费久久久久| 日韩欧美一区二区在线| 亚洲一区二区三区777| 亚洲国产精品字幕| 日韩av在线网站| 成人激情视频免费在线| 国产精品黄色影片导航在线观看| 国产性猛交xxxx免费看久久| 日本不卡免费高清视频| 一本大道香蕉久在线播放29| 欧美另类在线观看| 91精品国产成人www| 亚洲理论电影网| 久久99精品久久久久久琪琪| 4388成人网| 日韩精品免费综合视频在线播放| 欧美午夜精品久久久久久人妖| 伊人成人开心激情综合网| 九九热精品视频| 欧美日韩国产成人| 久久色精品视频| 亚洲精品成人网| 97久久精品在线| 国产欧美日韩丝袜精品一区| 最近2019中文字幕大全第二页| 亚洲激情视频网| 久久久视频在线| 亚洲成人久久久久| 精品成人久久av| 国产亚洲欧美另类中文| 日韩中文在线中文网在线观看|