| 寫到多數(shù)據(jù)源事務(wù)來了就必定寫成功了多數(shù)據(jù)源項(xiàng)目,可以參考我上一篇博客:SpringBoot根據(jù)包名進(jìn)行區(qū)分使用多數(shù)據(jù)源 
 1、文章中的第七步其實(shí)就已經(jīng)配置好了事務(wù)管理器到Spring容器了 按照套路來第二個(gè)數(shù)據(jù)源的事務(wù)管理Bean名字大家應(yīng)該想到了那就是“test2TransactionManager” 
 2、是時(shí)候改裝Service層加上事務(wù)注解了---->記著這里是個(gè)坑 3、測(cè)試------------>報(bào)錯(cuò) 很顯然,有多個(gè)事務(wù),容器不知道我們要的是哪個(gè)事務(wù),所以第二步的那個(gè)坑現(xiàn)在來填 4、填坑 5、問題-------->當(dāng)Controller層帶著第二個(gè)參數(shù)age=0到這個(gè)Service方法來,運(yùn)行后的結(jié)果對(duì)兩個(gè)數(shù)據(jù)到數(shù)據(jù)庫的結(jié)果是怎樣的? 不要偷看答案| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 答案: 第一個(gè)成功插入數(shù)據(jù)庫,第二個(gè)失敗進(jìn)行回滾 解答: 此Service方法上面加上的注解事務(wù)為第二個(gè)數(shù)據(jù)源,所以,第一個(gè)數(shù)據(jù)源它可管不著,第一個(gè)執(zhí)行掉第一行語句就已經(jīng)插入到數(shù)據(jù)庫了,第二個(gè)由于事務(wù)管著了,所以需要等到方法完全執(zhí)行完畢才能夠插入到數(shù)據(jù)庫,這個(gè)時(shí)候發(fā)現(xiàn)此方法異常了,于是進(jìn)行了數(shù)據(jù)回滾操作。 
 那么問題來了,如果是在分布式項(xiàng)目環(huán)境下,又該如何處理SpringBoot的事務(wù)問題呢? 
 我的下一篇博客:SpringBoot使用jta+atomikos解決分布式事務(wù) 轉(zhuǎn)自 https://blog.csdn.net/qq_36138324/article/details/81611935 | 
|  |