springboot 多數據源之錯誤 HikariPool-1 - jdbcUrl is required with driverClassName.


數據源連接報錯:

 之前在1.5.7的版本的時候用該數據源配置沒問題,看如下所示

springboot1.5.7配置多數據源:

         datasource.master.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=true
         datasource.master.username=root
         datasource.master.password=123456
         datasource.master.driver-class-name=com.mysql.jdbc.Driver


        datasource.master.url=jdbc:oracle:thin:@localhost:1521:test
        datasource.master.username=acct
        datasource.master.password=123456
        datasource.master.driver-class-name=oracle.jdbc.driver.OracleDriver
        datasource.master.max-idle=10
        datasource.master.max-wait=10000
        datasource.master.min-idle=5
        datasource.master.initial-size=5
        datasource.master.validation-query=SELECT 1
        datasource.master.test-on-borrow=false
        datasource.master.test-while-idle=true
        datasource.master.time-between-eviction-runs-millis=18800

后來在springboot2.3版本的時候集成多數據源配置時,出現如上錯誤:修改配置為如下所示即可解決

       

         datasource.master.jdbc-url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=true
         datasource.master.username=root
         datasource.master.password=123456
         datasource.master.driver-class-name=com.mysql.jdbc.Driver


        datasource.master.jdbc-url=jdbc:oracle:thin:@localhost:1521:test
        datasource.master.username=acct
        datasource.master.password=123456
        datasource.master.driver-class-name=oracle.jdbc.driver.OracleDriver
        datasource.master.max-idle=10
        datasource.master.max-wait=10000
        datasource.master.min-idle=5
        datasource.master.initial-size=5
        datasource.master.validation-query=SELECT 1
        datasource.master.test-on-borrow=false
        datasource.master.test-while-idle=true
        datasource.master.time-between-eviction-runs-millis=18800

 

spring.datasource.url 數據庫的 JDBC URL。

spring.datasource.jdbc-url 用來重寫自定義連接池

官方文檔的解釋是:

因為連接池的實際類型沒有被公開,所以在您的自定義數據源的元數據中沒有生成密鑰,而且在IDE中沒有完成(因為DataSource接口沒有暴露屬性)。另外,如果您碰巧在類路徑上有Hikari,那么這個基本設置就不起作用了,因為Hikari沒有url屬性(但是確實有一個jdbcUrl屬性)。在這種情況下,您必須重寫您的配置

 

 啟動后查詢,如圖所示:

 

可以看到第一個數據源的連接沒問題了,但是第二個數據源連接沒找到驅動

修改配置:

datasource.cluster.driver-class-name=oracle.jdbc.driver.OracleDriver

如下:
datasource.cluster.driver-class-name=oracle.jdbc.OracleDriver

 如此就ok了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM