ITPub博客

首页 > Linux操作系统 > Linux操作系统 > hibernate数据库连接池的问题

hibernate数据库连接池的问题

原创 Linux操作系统 作者:MagicProgram 时间:2011-06-07 18:12:17 0 删除 编辑

很久没有更新日志了,主要最近一直从事程序开发和项目管理的一些事情,没有遇到什么问题。今天对最近开发的web程序进行部署时,发现了问题。

这个问题可能大部分用过hibernate的开发人员都遇到过,即“tomcat运行一段时间,比如一晚上后,发现原来能打开的网页现在都出现了问题”。探其究竟,其实是数据库访问失败。这又是为什么呢?原来mysql数据库默认的一个选项“wait-timeout=28800",(wait-timeout —— the number of seconds to wait for activity on an incoming connection before closing it. The default is 28800 seconds. This option was added in MySQL 5.1.7. Before that, the timeout is 30 seconds and cannot be changed.)。所以过了这么长时间后,由于长时间没有与数据库通信,此连接被强行断开。

这时,就需要修改hibernate的数据库连接选项。采用的方法也是网络上推荐的,即选用c3p0这种方式连接数据库,而不选用默认自带的方式。主要修改了

connection.provider_class = org.hibernate.connection.C3P0ConnectionProvider

c3p0.idle_test_period = 3000

c3p0.timeout = 5000

(附:刚开始设置为net.sf.hibernate.connection.C3P0ConnectionProvider,一直报错啊,呜呜呜呜)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25432352/viewspace-697334/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-02-24

  • 博文量
    29
  • 访问量
    121686