c3p0连接池报 too many clients already

linsir 发布于 2010/07/21 11:46
阅读 1K+
收藏 1

hibernte使用c3p0连接池连接数据库老是报 too many clients already,是什么原因啊,连接池配置如下

 <!-- 连接池 -->
  <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
  <!-- 最大连接数 -->
  <property name="hibernate.c3p0.max_size">50</property>
  <!-- 最小连接数 -->
  <property name="hibernate.c3p0.min_size">2</property>
  <!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->
  <property name="hibernate.c3p0.timeout">100</property>
  <!-- 最大的PreparedStatement的数量 -->
  <property name="hibernate.c3p0.max_statements">10</property>
  <!-- 每隔120秒检查连接池里的空闲连接,单位是秒-->
  <property name="hibernate.c3p0.idle_test_period">100</property>
  <!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
  <property name="hibernate.c3p0.acquire_increment">5</property>
  <!-- 每次都验证连接是否可用 -->
  <property name="hibernate.c3p0.validate">true</property>
  <!-- 关闭后释放链接 -->
  <property name="hibernate.connection.release_mode">after_statement</property>

 

加载中
0
红薯
红薯

连接池爆了,可增加 max_size 的值,不过更应该检查一下应用程序没有关闭连接的情况,导致连接一直被占用没有回收。

innerp
innerp
请问 是不是从连接池获得链接程序使用完,比如插入一条数据后,就应该调用Connection的close()函数,不过这样有点想不通,何时才是应该关闭链接?
0
linsir
linsir

数据库开设的最大链接太少了。

0
该用户已被和谐
该用户已被和谐

少一半也不会爆。应该是未释放、最近公司的数据经常高连接数,倒是全都是wait

0
JavaGG
JavaGG

hibernate.c3p0.max_size 最好加大点,一般和业务线程有关的,2倍就差不多了

返回顶部
顶部