JAVA连接数据库报错“java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.”
解决方案:
进入c3p0-config.xml,将连接数扩大。
原始:
<?xml version="1.0" encoding="utf-8" ?> <c3p0-config> <!-- 使用默认的配置读取连接池对象--> <default-config> <!-- 连接参数 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/studenttest?userSSL=false&serverTimezone=UTC&characterEncoding=utf-8</property> <property name="user">root</property> <property name="password">000000</property> <property name="acquireIncrement">10</property> <!-- 连接池参数 --> <!-- 初始连接数 --> <property name="initialPoolSize">10</property> <!-- 最大连接数 --> <property name="maxPoolSize">10</property> <!-- 最小连接数 --> <property name="minPoolSize">5</property> <!-- 最大等待时间 --> <property name="checkoutTimeout">2000</property> <!-- 最大空闲回收时间 --> <property name="maxIdleTime">1000</property> </default-config> </c3p0-config>
扩大后:
<?xml version="1.0" encoding="utf-8" ?> <c3p0-config> <!-- 使用默认的配置读取连接池对象--> <default-config> <!-- 连接参数 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/studenttest?userSSL=false&serverTimezone=UTC&characterEncoding=utf-8</property> <property name="user">root</property> <property name="password">000000</property> <property name="acquireIncrement">10</property> <!-- 连接池参数 --> <!-- 初始连接数 --> <property name="initialPoolSize">10</property> <!-- 最大连接数 --> <property name="maxPoolSize">100</property> <!-- 最小连接数 --> <property name="minPoolSize">5</property> <!-- 最大等待时间 --> <property name="checkoutTimeout">2000</property> <!-- 最大空闲回收时间 --> <property name="maxIdleTime">1000</property> </default-config> </c3p0-config>
maxPoolSize从10扩大到100。
运行结果: