mysql

时间:2016-04-01 09:17:28

标签: java mysql spring

我正在使用以下数据源配置设置,但过了一段时间后,我收到“用户'用户名'已超出'max_user_connections'资源(当前值:10)”。 maxIdle连接设置为1但仍然是我们得到这个错误。有人可以建议可能是根本原因吗?

注意 ==>我们没有选项来增加当前设置为10的最大连接限制。

更新==> 我的java程序正在使用Spring JdbcTemplate,能够先运行几个我的sql语句,但过了一段时间它就是错误。此外,如果我将“maxIdle”属性值设置为0,那么它可以正常工作。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://mysqlServerName:3306/mydb"/>
    <property name="username" value="username"/>
    <property name="password" value="password"/>
    <property name="validationQuery" value="SELECT 1" />
    <property name="testOnBorrow" value="true" />
    <property name="maxIdle"  value="1" />
</bean>

1 个答案:

答案 0 :(得分:0)

通过 Denium

回答

你是怎么用的?您不是因为需要JdbcTemplate而重新创建应用程序上下文? BasicDataSource的默认最大限制为8,所以你必须重新创建一些东西... - M. Deinum 3小时前

感谢Deinum。我的坏..我多次创建应用程序上下文。我已经更改了代码以仅初始化上下文一次,现在它正常工作。非常感谢你的建议.. - Raj 3小时前

为什么你甚至手动创建它?其中一个Spring初始化方法应该这样做,你应该使用依赖注入。 - M. Deinum 3小时前

我的程序是基于控制台的,因此需要手动创建上下文。我在静态字段中保持上下文。问题是由于多次调用方法导致多次上下文创建,正如您所指出的那样。对于数据源和其他bean我正在使用spring dependency injection .. - Raj 3小时前