2007-08-05

mysql的连接自动关闭问题

关键字: mysql
在工作中好几次遇见了mysql连接自动关闭的问题,最近系统中的一个模块又碰到了同样的“conection failed症状”。
由于使用了动态表,该模块并没有使用系统标配的sessionFactory,而是自己构建了一个单独的Hibernate sessionFactory
对动态表进行操作。开始时,我怀疑是不是多线程共用了session而导致的的session关闭问题,于是发起几位同事
一同测试了一下,发现不是这个原因;再详细问一下错误产生时的状况:应用启动很长时间后,只有一个人在操作也有
会出这个错。啊?一听到“应用启动很长时间之后才出现”,立马想起了mysql这个经典的“连接关闭”问题,立刻动手为
sessionFactory配了个c3p0连接池,并设置了c3p0定期检查数据库连接:
configuration.setProperty("idle_test_period","1800");
重启测试,问题解决。比较搞笑的是,mysql的启动参数中WaitTimeOut竟然和这个问题的出现有关系;这个参数默认设置是
八小时,于是应用启动八小时后才会出现connection failed问题;我们将WaitTimeOut设成很小之后,顺利地在几秒钟内重现了
这个Bug。对了别忘了:idle_test_period的值必须设得要比WaitTimeOut值小才管用。
评论
发表评论

您还没有登录,请登录后发表评论

lix23
搜索本博客
存档
最新评论
  • 秒速5厘米
    有点像听见涛声和云的彼端,都是日本人特有的哀伤,其实我们小的时候也有,不过随着时 ...
    -- by zhaoyifei
  • 秒速5厘米
    我是看了这个才加入,看来这里的动漫人士还是蛮有水平的这个片子的确堪称经典,值得收 ...
    -- by mikel
  • 秒速5厘米
    下了还没看 有女朋友还想着别人阿。。。
    -- by hazzy
  • 秒速5厘米
    刚收了DVD,十一看
    -- by goncha
  • 秒速5厘米
    纯洁、平凡而又感人的爱情。 感谢推荐。
    -- by swflora