一、問題出現的場景
系統架構設計、每個企業一個企業庫、通過數據源切在平臺庫、和企業庫之間動態切換完成業務操作。
二、跨庫事物失效的原因
1、Spring@Transactional不支持跨數據源事物,Spring 事物控制是基于數據庫鏈接進行的,當數據源切換后,數據庫鏈接切換,事物回滾只能回退,當前持有的鏈接。
2、Spring開啟事物后,會將當前數據庫及數據庫鏈接資源進行線程綁定,導致數據源切換失效(數據源切換執行后,并未獲取到新的數據庫鏈接)。
三、解決辦法
很簡單換一個注解即可:
一、問題出現的場景
系統架構設計、每個企業一個企業庫、通過數據源切在平臺庫、和企業庫之間動態切換完成業務操作。
二、跨庫事物失效的原因
1、Spring@Transactional不支持跨數據源事物,Spring 事物控制是基于數據庫鏈接進行的,當數據源切換后,數據庫鏈接切換,事物回滾只能回退,當前持有的鏈接。
2、Spring開啟事物后,會將當前數據庫及數據庫鏈接資源進行線程綁定,導致數據源切換失效(數據源切換執行后,并未獲取到新的數據庫鏈接)。
三、解決辦法
很簡單換一個注解即可:
本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。 如若轉載,請注明出處:http://www.pswp.cn/news/716733.shtml 繁體地址,請注明出處:http://hk.pswp.cn/news/716733.shtml 英文地址,請注明出處:http://en.pswp.cn/news/716733.shtml
如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!