spring - JavaWeb中 Service 層的事務(wù)問(wèn)題
問(wèn)題描述
下面是我的Spring配置
通過(guò)上面的配置可以看出我是在所有的service中加入的事物,也就是說(shuō)我的service出錯(cuò)了會(huì)回滾所有的提交。那么如果遇到Aservice調(diào)用Bservice的方法,然后Bservice調(diào)用了Cservice層的方法,A->B->C這種情況屬于事物層嵌套調(diào)用,那么問(wèn)題來(lái)了我在Cservice中如果出現(xiàn)異常,現(xiàn)在是只會(huì)回滾Cservice的事物,還是會(huì)把A和B的事物都回滾。請(qǐng)大牛來(lái)幫忙解釋下這個(gè)問(wèn)題。我也是突然想到有這種情況實(shí)際沒(méi)有這么做呢~
問(wèn)題解答
回答1:這個(gè)沒(méi)試過(guò)。不過(guò)一般不建議service調(diào)用service,一些通用的可以放在dao
回答2:propagation='REQUIRED' 是說(shuō)如果當(dāng)前存在事務(wù),就放入當(dāng)前事務(wù)范圍內(nèi),否則新建事務(wù)。所以它們都會(huì)屬于同一個(gè)事務(wù)的。
回答3:這可以用過(guò)配置事務(wù)的傳播方法來(lái)定義吧。是要加入當(dāng)前事務(wù),還是自己新建一個(gè)事務(wù)。
相關(guān)文章:
1. mysql - AttributeError: ’module’ object has no attribute ’MatchType’2. javascript - JS設(shè)置Video視頻對(duì)象的currentTime時(shí)出現(xiàn)了問(wèn)題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...3. javascript - 圖片能在網(wǎng)站顯示,但控制臺(tái)仍舊報(bào)錯(cuò)403 (Forbidden)4. MySQL客戶端吃掉了SQL注解?5. 網(wǎng)頁(yè)爬蟲(chóng) - python爬蟲(chóng)翻頁(yè)問(wèn)題,請(qǐng)問(wèn)各位大神我這段代碼怎樣翻頁(yè),還有價(jià)格要登陸后才能看到,應(yīng)該怎么解決6. 數(shù)據(jù)庫(kù) - MySQL 單表500W+數(shù)據(jù),查詢超時(shí),如何優(yōu)化呢?7. objective-c - iOS怎么實(shí)現(xiàn)像QQ或者微信的實(shí)時(shí)推送8. php自學(xué)從哪里開(kāi)始?9. 求大神幫我看看是哪里寫(xiě)錯(cuò)了 感謝細(xì)心解答10. phpstady在win10上運(yùn)行
