MySQL官方不推荐使用autoReconnect=true,参见
http://bugs.mysql.com/bug.php?id=5020
需要另外找别的办法来解决超过8小时,链接断开的问题。
由于问题产生的根本原因在于服务到数据库的连接长时间没活动,既然重新连接的办法无效,就可以尝试另外一种办法,就是反空闲。
自己写一个线程来反空闲的话,比较麻烦。
最后在网上找到一个办法。为hibernate配置连接池,推荐用c3p0,然后配置c3p0的反空闲设置idle_test_period,只要小于MySQL的wait timeout即可。
在hibernate.cfg.xml中增加下面几项:
org.hibernate.connection.C3P0ConnectionProvider
5
30
1800
50
1
120
true
[12 Aug 2004 18:46]
Mark Matthews
Note: Autoreconnect functionality will be depcreated and eventually removed in future
releases.
The reason this isn't working for your particular case is that the methodolgy for
autoreconnect was ch