自以为解决了mysql隔天出错的问题了,结果今天又发生了同样的情况
No operations allowed after connection closed. Connection was closed due to the following exception:
又郁闷了一把。今天发誓一定要好好查原因。
原来
由于在hibernate3.0中,已经不再支持dbcp了,hibernate的作者在hibernate.org中,明确指出在实践中发现dbcp有BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。
参考了两篇文章,觉得问题就是出在这里了
http://topic.csdn.net/t/20051230/08/4489837.html
http://bjzhanghao.cnblogs.com/archive/2004/12/10/75145.html
根据两篇文章我,先把c3p0-0.9.0.jar添加到lib里面,我是直接加到tomcat的common里面了。然后修改了自己的配置hibernate.cfg.xml,
<property name="hibernate.c3p0.max_size">2</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">5000</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.validate">false</property>
我是在Eclipse里开发的,不要忘了刷新一下,重启tomcat后,我手动修改了系统时间,结果没有发生异常,此前我只要把系统时间外后顺就会跑出该异常,现在就等着明天早上再来检验否正常了。