嚴重: maxIdle is deprecated,嚴重: testWhileIdle is true, validationQuery not set,Druid連接池連接MSQL報錯處理


JDK9  引發的血案
1、因為使用mysql-connector的依賴版本對應的mysql數據庫沖突,mysql8需要使用8.0.11以上的高版本

2、jdk9的反射本身存在BUG,會有warning警告,一般不影響使用,在后續版本會更新修復
 首先檢查下自己使用的mysql 是什么版本的,5.5 、5.6版本的使用老依賴就行,新的依賴驅動Driver注冊包路徑已經改變、老版本依賴已經不適用;

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
 druid連接池連接MYSQL報錯如下;是因為maxIdle is deprecated    已經被棄用了;  

G:\tools\java_jdk\jdk-9.0.1\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:
9月 10, 2018 6:54:15 下午 com.alibaba.druid.pool.DruidAbstractDataSource error
嚴重: maxIdle is deprecated
9月 10, 2018 6:54:15 下午 com.alibaba.druid.pool.DruidDataSource error
嚴重: testWhileIdle is true, validationQuery not set
9月 10, 2018 6:54:16 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited

 

 

(1)第一條報錯信息解決如下;把過時的配置參數去除;

 

 

 1.1、附上druid.properties的配置;

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/reba?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
username=root
password=root


initialSize=5
maxActive=10
maxWait=3000
minIdle=3

1.2、再次運行,結果如下; 

 

 

已解決一個報錯信息;

(2)第二條報錯信息如下;

嚴重: testWhileIdle is true, validationQuery not set

2.1、報錯信息意思是說:校驗沒有設置,將testWhileIdle修改為false不再報錯,工程正常運行。

但此時MYSQL數據庫將不再進行連接驗證,存在一定的風險。所以設置true.

把以下配置信息添加到druid.properties配置文件中;

validationQuery:SELECT 1
testWhileIdle:true
testOnBorrow:false
testOnReturn:false
2.2、運行結果如下;

 

 

已解決該條報錯;

(3)第三條;

9月 10, 2018 7:19:00 下午 com.alibaba.druid.pool.DruidDataSource info

信息: {dataSource-1} inited

是日志文件,對你沒看錯,這是正常的。
---------------------
作者:打豆豆。
來源:CSDN
原文:https://blog.csdn.net/weixin_42323802/article/details/82594329
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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