问题描述:
Mysql默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,这就是问题的所在。在C3P0 pools中的connections如果空闲超过8小时,Mysql也会将其断开,而C3P0并不知道该connection已经失效,如果这时有 Client请求connection,C3P0将该失效的Connection提供给Client,将会造成异常。
解决办法有三种:
1.增加wait_timeout的时间。
2.减少Connection pools中connection的lifetime。
3.测试Connection pools中connection的有效性。