天天看點

dynamic-datasource多資料源報錯url not set

dynamic-datasource多資料源報錯url not set

  1. 發生起因

    在對一個SpringMVC老項目的部分子產品進行SpringBoot遷移用于測試時,使用了dynamic-datasource配置多資料源。因為原SpringMVC老項目存在大量的xml配bean,在SpringBoot中手動配置configuration配置類加載這些bean時,有一個初始化的bean在進行init()方法初始化時,對資料庫進行查詢,然後就出現了本文的錯誤:

    無法擷取JDBC連接配接,因為url not set

  2. 尋找解決

    找到一篇文章:https://bbs.csdn.net/topics/398847675?list=60606205 ,在這篇文章中的倒數第二個回答(7.26日的回答)中找的了解決,在原有的xml中存在一個遺留的DriverManagerDataSource的bean注入,将其删除即可:

    <bean id="abstractDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" />
               
  3. 總結

    使用dynamic-datasource配置多資料源時,一定不能有其他的資料源存在,否則就會出現無法擷取JDBC連接配接的情況