網(wǎng)站客戶續(xù)費(fèi)北京百度競(jìng)價(jià)托管
捕捉異常之后手動(dòng)標(biāo)記回滾事務(wù)
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
沒有嵌套事務(wù),還是報(bào)Transaction rolled back because it has been marked as rollback-only異常錯(cuò)誤
查看錯(cuò)誤堆棧,service調(diào)用的方法外層還套有一層事務(wù),方法內(nèi)部手動(dòng)標(biāo)記回滾,沒有拋出異常,外部方法還是會(huì)提交事務(wù)導(dǎo)致報(bào)錯(cuò)
JDK動(dòng)態(tài)代理導(dǎo)致的
但是Spring2.x默認(rèn)使用cglib動(dòng)態(tài)代理,更改配置spring.aop.proxy-target-class=true也不起作用
最后對(duì)比過往項(xiàng)目發(fā)現(xiàn)整合shiro時(shí)引入包
<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring-boot-starter</artifactId> </dependency>
改用shiro-spring包可以解決
<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId> </dependency>