Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 8,964,867 milliseconds
ago. The last packet sent successfully to the server was 8,964,867 millisecond
s ago.
这个问题把 timeout idle_test_period 设置好了应该就可以了,不能超过mysql默认的8小时,参考如下:
、C3P0数据库连接池属性:
1)hibernate.c3p0.max_size:最大连接数
2)hibernate.c3p0.min_size:最小连接数
3)hibernate.c3p0.acquire_increment:当数据库连接池中的连接耗尽时,同一时刻获取多少个数据库连接
4)hibernate.c3p0.timeout:连接池中连接对象在多长时间没有使用过后,就应该被销毁
5)hibernate.c3p0.idle_test_period:表示连接池检测线程多长时间检测一次池内的所有连接对象是否超时,连接池本身不会把自己从连接池中移除
而是专门有一个线程按照一定的时间间隔来做这件事,这个线程通过比较连接对象最后一次呗使用和当前时间的时间差来和timout做对比,进而决定是否销
毁这个连接对象。
6)hibernate.c3p0.max_statements:缓存Statement对象的数量
<property name="hibernate.c3p0.max_size">10</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.timeout">2000</property>
<property name="hibernate.c3p0.idle_test_period">2000</property>
<property name="hibernate.c3p0.max_statements">10</property>