dynamic-datasource多資料源報錯url not set
-
發生起因
在對一個SpringMVC老項目的部分子產品進行SpringBoot遷移用于測試時,使用了dynamic-datasource配置多資料源。因為原SpringMVC老項目存在大量的xml配bean,在SpringBoot中手動配置configuration配置類加載這些bean時,有一個初始化的bean在進行init()方法初始化時,對資料庫進行查詢,然後就出現了本文的錯誤:
無法擷取JDBC連接配接,因為url not set
-
尋找解決
在這篇文章中的倒數第二個回答(7.26日的回答)中找的了解決,在原有的xml中存在一個遺留的DriverManagerDataSource的bean注入,将其删除即可:
<bean id="abstractDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" />
-
總結
使用dynamic-datasource配置多資料源時,一定不能有其他的資料源存在,否則就會出現無法擷取JDBC連接配接的情況