在多資料來源中配置事務,其實對於springboot來很簡單,當然這個的前提是首先把多資料來源都配好的情況下,如果不會多資料來源配置,請看該系列springboot整合多資料來源
@enabletransactionmanagement
public
class
public
static
void
main(string args) }
當配置了這個事務註解,會自動去載入我們的事務bean。
@bean(name = "accounttransactionmanager")
@primary
public platformtransactionmanager testtransactionmanager(@qualifier("accountdatasource") datasource datasource)
@bean(name = "otosaastransactionmanager")
public platformtransactionmanager testtransactionmanager(@qualifier("otosaasdatasource") datasource datasource)
這個是時候就可以指定用哪個事務處理
@override
@transactional(value = "accounttransactionmanager",rollbackfor = exception.class)
public boolean insertaddmoney(string account, string quota)
@override
@transactional(value = "otosaastransactionmanager",rollbackfor = exception.class)
public boolean insertaddmoney(string account, string quota)
那麼此時就產生了乙個疑惑,在多資料來源和事務管理器中,如果不指定預設返回的事務呢?怎麼配置預設事務處理器呢?
很簡。新增乙個配置類,實現transactionmanagementconfigurer
重寫annotationdriventransactionmanager
方法
返回預設返回的處理器,就ok
@configuration
// 開啟註解事務管理,等同於xml配置檔案中的
public
class
implements
transactionmanagementconfigurer
// 建立事務管理器2
@bean(name = "txmanager2")
public platformtransactionmanager txmanager2(entitymanage***ctory factory)
// 實現介面 transactionmanagementconfigurer 方法,其返回值代表在擁有多個事務管理器的情況下預設使用的事務管理器
@override
public platformtransactionmanager annotationdriventransactionmanager()
public
static
void
main(string args)
}
paoding rose jade多資料來源配置
官網文件沒有相關的說明,所以費了些勁,但是確實很簡單,發出來,希望能幫助到有需要的人 class org.springframework.jdbc.datasource.drivermanagerdatasource name driverclassname value com.mysql.jdbc...
Spring Boot多資料來源配置
方案實現 新建兩個配置類 即加 configuration註解的類 乙個為primarydatasourceconfig,用來配置本專案的資料來源 另乙個叫seconddatasourceconfig,用來配置需要同步的資料來源。如下 configuration public class prima...
springboot整合多資料來源
多資料來源產生的問題 事物管理 在實際專案中,怎麼樣搭建多資料來源 區分資料來源 舉個例子 2個資料來源 test001 test002 1 分包結構 com.baidu.test001 訪問test001資料庫 daoservice com.baidu.test002 訪問test002資料庫 d...