多資料來源,配置完事務之後就不能正常切換資料來源

2022-06-06 04:39:07 字數 361 閱讀 3087

我也遇到了這個問題,仔細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...