1. 增加 MySQL 的 wait_timeout 屬性的值。
修改 /etc/mysql/my.cnf文件,在 [mysqld] 節中設置:
# Set a connection to wait 8hours in idle status.
wait_timeout =86400
將這2個參數設置為24小時(60*60*24=604800)即可。
set interactive_timeout=604800;
set wait_timeout=604800;
2. 減少連接池內連接的生存周期,使之小於上一項中所設置的 wait_timeout 的值。
在 Spring 的配置文件中:
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="maxIdleTime"value="${cpool.maxIdleTime}"/>
<!--other properties -->
</bean>
class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="maxIdleTime"value="${cpool.maxIdleTime}"/>
<!--other properties -->
</bean>
3、autoReconnect=true(此方法只支持mysql5.0以下的版本)
連接數據庫的時候加上autoReconnect=true這個參數:
jdbc:mysql://localhost:3306/accounant?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true