我也遇到了這個問題,仔細debug了一下,結論如下:
1. aop可以觸發資料來源字串的切換,這個沒問題
2. 資料來源真正切換的關鍵是 abstractroutingdatasource 的 determinecurrentlookupkey() 被呼叫,此方法是在open connection時觸發
3. 事務是在connection層面管理的,啟用事務後,乙個事務內部的connection是復用的,所以就算aop切了資料來源字串,但是資料來源並不會被真正修改
綜上所述:
如果要使用事務,還是別用determinecurrentlookupkey()這種方法切資料來源了,得配置多個才行
SpringBoot多資料來源配置事務
在多資料來源中配置事務,其實對於springboot來很簡單,當然這個的前提是首先把多資料來源都配好的情況下,如果不會多資料來源配置,請看該系列springboot整合多資料來源 enabletransactionmanagement public class public static void ...
SpringBoot多資料來源配置事務
在多資料來源中配置事務,其實對於springboot來很簡單,當然這個的前提是首先把多資料來源都配好的情況下,如果不會多資料來源配置,請看該系列springboot整合多資料來源 enabletransactionmanagement public static void main string a...
SpringBoot多資料來源配置事務
在多資料來源中配置事務,其實對於springboot來很簡單,當然這個的前提是首先把多資料來源都配好的情況下,如果不會多資料來源配置,請看該系列springboot整合多資料來源 enabletransactionmanagement public static void main string a...