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

问题描述 投票:2回答:2

我正在使用以下代码与我的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 run警告:com.mchange.v2.resourcepool.BasicResourcePool $ AcquireTask@198c333 -

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

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

java hibernate database-connection connection-pooling
2个回答
0
投票

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


© www.soinside.com 2019 - 2024. All rights reserved.