用户今天应用无法访问了,日志一看,原来是Connection reset by peer . 再一看前面,原来应用服务器无法和数据库服务器连接了,虽然后来连接恢复,但c3p0的连接就再也没法恢复过来了。应用服务器和数据库服务器在异地,难道每次都重启吗?还好c3p0的连接池能配置重连。
<!-- autoReconnect -->
<parameter>
<name>testConnectionOnCheckin</name>
<value>true</value>
</parameter>
<parameter>
<name>idleConnectionTestPeriod</name>
<value>60</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select 1 from dual</value>
</parameter>
<!-- end of autoReconnect -->
另外最好再加上validationQuery,也能避免这样的问题。似乎设置autoReconnect参数没有用处。
<!-- autoReconnect -->
<parameter>
<name>testConnectionOnCheckin</name>
<value>true</value>
</parameter>
<parameter>
<name>idleConnectionTestPeriod</name>
<value>60</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select 1 from dual</value>
</parameter>
<!-- end of autoReconnect -->
另外最好再加上validationQuery,也能避免这样的问题。似乎设置autoReconnect参数没有用处。
本文介绍了一种在应用服务器与数据库服务器连接中断后,通过配置c3p0连接池实现自动重连的方法。文章详细解释了如何设置autoReconnect及validationQuery等参数以确保连接的有效性和稳定性。
470

被折叠的 条评论
为什么被折叠?



