项目中用到了hibernate,后来出现了mysql闲置8小时候就自动断开链接的问题,这样用了s3p0连接池来试试,哪知道问题依旧没有解决, 经常出现如下的错误:
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask run
璀﹀憡
: BasicResourcePool: An idle resource is broken and will be purged.
java.sql.SQLException: Communication link failure: java.net.SocketException, underlying cause: Software caused connection abort: recv failed
上网上查资料,自己也反复试验,最后测试出如下的方法配置后,没有再出现上面的错误,记录下来,自己备份,同时也希望能给遇到同样问题的朋友一个参考.
<property name="show_sql">false</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.min_size">8</property>
<property name="hibernate.c3p0.max_size">200</property>
<property name="hibernate.c3p0.timeout">600</property>
<property name="hibernate.c3p0.max_statements">0</property>
<property name="hibernate.c3p0.idle_test_period">60</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.validate">true</property>
,虽然问题解决了 但是 有些地方我还不太明白为什么这样配置,大家对这个配置有什么看法 欢迎提出来,共同探讨一下