在Tomcat中配置c3p0数据库连接池的时候,如果数据库重启,或者网络原因造成服务器和数据库断开连接,Tomcat便再也不能和数据库连接,除非Tomcat服务重启。本人在使用VPN的时候遇到更换IP后数据库连接访问不到。
解决办法是在c3p0的配置中增加两个参数
<parameter>
<name>testConnectionOnCheckin</name>
<value>true</value>
</parameter>
<parameter>
<name>idleConnectionTestPeriod</name>
<value>60</value>
</parameter>
这样配置之后,连接池每隔60秒自动检测数据库连接情况,如果断开则自动重连。