天天看點

成功解決: [main] ERROR DruidDataSource:52 - testWhileIdle is true, validationQuery not set(講解的很詳細,很詳細)

2020-03-28 18:24:37 [main] ERROR DruidDataSource:52 - testWhileIdle is true, validationQuery not set

成功解決: [main] ERROR DruidDataSource:52 - testWhileIdle is true, validationQuery not set(講解的很詳細,很詳細)
成功解決: [main] ERROR DruidDataSource:52 - testWhileIdle is true, validationQuery not set(講解的很詳細,很詳細)

項目使用的是ssm架構

解決:在applicationContext.xml 檔案,即配置資料庫連接配接池相關的檔案,如下圖

成功解決: [main] ERROR DruidDataSource:52 - testWhileIdle is true, validationQuery not set(講解的很詳細,很詳細)

添加以下資訊(主要是最後四個property ):

<property name="filters" value="stat"/>
        <property name="initialSize" value="2"/>
        <property name="maxActive" value="300"/>
        <property name="maxWait" value="60000"/>
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <property name="minEvictableIdleTimeMillis" value="300000"/>
        <property name="poolPreparedStatements" value="false"/>
        <property name="maxPoolPreparedStatementPerConnectionSize" value="200"/>
		<property name="validationQuery" value="select 1"/>
        <property name="testWhileIdle" value="true"/>
        <property name="testOnBorrow" value="false"/>
        <property name="testOnReturn" value="false"/>
           

如果是properties檔案配置資料庫連接配接:

例如:

driverClassName = com.mysql.cj.jdbc.Driver
url = jdbc:mysql:///test?serverTimezone=UTC
username = root
password = root
           

添加如下:

filters=stat
initialSize=2
maxActive=300
maxWait=60000
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=SELECT 1
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
poolPreparedStatements=false
maxPoolPreparedStatementPerConnectionSize=200