Hibernate和Java的最大用户连接问题

时间:2014-02-11 09:03:34

标签: java hibernate database-connection connection-pooling

我正在使用以下代码与我的applicationcontext文件中指定的Hibernate和Java进行数据库连接,

<bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="com.mysql.jdbc.Driver" />   
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/database?useUnicode=true&amp;characterEncoding=UTF-8" />    
    <property name="user" value="admin" />  
    <property name="password" value="pass" />   
    <property name="maxPoolSize" value="10" />
    <property name="maxStatements" value="10" />
    <property name="minPoolSize" value="5" />        
    <property name="initialPoolSize" value="10" />
    <property name="maxIdleTime" value="120" />
    <property name="numHelperThreads" value="1" />
    <property name="preferredTestQuery" value="SELECT 1" />
  </bean>
某个时候服务器上的

会出现以下错误

  

com.mchange.v2.resourcepool.BasicResourcePool $ AcquireTask运行   警告:   com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@198c333 -

     

收购尝试失败!!!清除待处理的收购。一边试试   为了获得所需的新资源,我们未能取得成功   最大允许获取尝试次数(30)。   上次获取尝试异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:用户admin已经超过'max_user_connections'活动连接

任何人都可以让我知道我哪里出错了

2 个答案:

答案 0 :(得分:0)

您的数据库看起来有配置问题。您的数据库可能无法让同一用户10同时连接。也许您可以尝试将maxPoolSizeminPoolSize减少为1,这样您就可以看到真正的问题。(因为您看到的异常只是给出的最后一个例外)

答案 1 :(得分:-1)