遇到数据库连接满,最终检查是因数据库配置导致的
<property name="initialPoolSize" value="3"/>
<property name="minPoolSize" value="1"/>
<property name="maxPoolSize" value="20"/>
<property name="idleConnectionTestPeriod" value="120" />
<property name="acquireIncrement" value="5"/>
idleConnectionTestPeriod配置会每个120秒检查连接池连接的可用性,
而不是当连接处于idle状态是释放连接(我们误解这个意思了)。
因此需要增加一个参数:
<property name="maxIdleTime" value="120" />
这个的意思是如果连接处于idle状态超过120秒,
则自动释放连接。