在spring配置文件中:
<property name="url" value="jdbc:mysql://测试服务器/xxx?characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="FDSFERFDSGVSDG" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="10" />
<property name="minIdle" value="10" />
<property name="maxActive" value="100" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="10000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="300000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="600000" />
<property name="testWhileIdle" value="true" />
<!-- 这里建议配置为TRUE,防止取到的连接不可用 -->
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 验证连接有效与否的SQL,不同的数据配置不同 -->
<property name="validationQuery" value="select 1" />
<property name="filters" value="stat" />
<property name="proxyFilters">
<list>
<ref bean="logFilter" />
</list>
</property>
属性initialSize:初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
如果一开始为10,就有可能导致本文出现的问题,因为我连的是测试环境中的数据库,因为同事中可能较多的人连接此数据库,会导致数据库的压力增大,如果initialSize设置的过大,也就是建立物理连接的个数过多,无疑也会增加数据库的负担,故在调试过程中,应把initialSize设置为1,等项目部署到线上的时候,再把此值稍微调高一点即可。