欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何解決Spring異常捕獲且回滾事務(wù)

這篇文章主要為大家展示了如何解決Spring異常捕獲且回滾事務(wù),內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為豐寧企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,豐寧網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

默認(rèn)spring只在發(fā)生未被捕獲的runtimeexcetpion時(shí)才回滾。

最笨的辦法:代碼級(jí)控制:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

為何在aop advitor中配置rollba-for=“java.lang.Exception”異常時(shí)不回滾呢?

問(wèn)題已解決:

原理:spring aop 異常捕獲原理:被攔截的方法需顯式拋出異常,并不能經(jīng)任何處理,這樣aop代理才能捕獲到方法的異常,才能進(jìn)行回滾,默認(rèn)情況下aop只捕獲runtimeexception的異常,但可以通過(guò)

<tx:method name="upd*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>

配置來(lái)捕獲特定的異常并回滾

換句話說(shuō)在service的方法中不使用try catch 或者在catch中最后加上throw new runtimeexcetpion(),這樣程序異常時(shí)才能被aop捕獲進(jìn)而回滾

解決方案:

方案1.例如service層處理事務(wù),那么service中的方法中不做異常捕獲,或者在catch語(yǔ)句中最后增加throw new RuntimeException()語(yǔ)句,以便讓aop捕獲異常再去回滾,并且在service上層(webservice客戶端,view層action)要繼續(xù)捕獲這個(gè)異常并處理

方案2.在service層方法的catch語(yǔ)句中增加:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();語(yǔ)句,手動(dòng)回滾,這樣上層就無(wú)需去處理異常(現(xiàn)在項(xiàng)目的做法)

<bean id="transactionManager"
 class="org.springframework.orm.hibernate3.HibernateTransactionManager">
 <property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
 <tx:attributes>
  <tx:method name="add*" propagation="REQUIRED" />
  <tx:method name="upd*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
  <tx:method name="del*" propagation="REQUIRED" />
  <tx:method name="*" propagation="SUPPORTS" />
 </tx:attributes>
</tx:advice>

<aop:config>
 <aop:pointcut id="canyin" expression="execution(* com.laphone.base.baseservice.*.*(..)) ||execution(* com.laphone.canyin.*.service.*.*(..)) || execution(* com.laphone.canyin.*.*.service.*.*(..))"/>
 <aop:advisor advice-ref="txAdvice" pointcut-ref="canyin" />
</aop:config>

以上就是關(guān)于如何解決Spring異常捕獲且回滾事務(wù)的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

標(biāo)題名稱:如何解決Spring異常捕獲且回滾事務(wù)
鏈接URL:http://aaarwkj.com/article34/iiggse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、搜索引擎優(yōu)化動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站制作、標(biāo)簽優(yōu)化微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
91九色在线视频观看| 中国吞精囗交免费视频| 青青草国产精品一区二区| 欧美午夜一区二区电影| 亚洲中文字幕乱码第一页| 欧美高清一区二区三区不卡| 国产乱av一区二区三区| 亚洲欧美激情专区在线| 亚洲av日韩欧美精品| av在线免费播放观看| 欧美一区二区日本国产激情| 91精品国产在线观看| 国产精品一区波多野结衣| 日韩欧美一区二区三区在线| 国产av网站精品成人| 亚洲精品香蕉久久情趣| 中文在线中文天堂黄色片| av在线观看亚洲天堂| 亚洲精品欧美综合第四区| 精品人妻一区两区三区| 亚洲欧美成人高清在线观看| 免费在线观看日韩av大片| 国产一区二区欧美日本| 二区三区在线欧美日韩| 亚洲精品永久在线观看| 激情av一区二区不卡| 人妻久久一区二区三区精品99| 一区中文字幕人妻少妇| 禁止18观看视频软件| 精品人妻日韩中文字幕| 欧美日韩精品亚洲成人精品| 成人国产午夜福利网| 久久精品亚洲熟女av蜜謦| 国产精品一品二品国精品| 色男人天堂网在线视频| 青青草国产自拍在线视频| 欧美色精品人妻在线最新| 精品欧美自拍偷拍三区| 国产一级黄色片免费看| 亚洲综合日韩欧美一区二区三区| 91麻豆精品在线观看|