我正在使用以下数据源配置设置,但过了一段时间后,我收到“用户'用户名'已超出'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>
答案 0 :(得分:0)
通过 Denium
回答你是怎么用的?您不是因为需要JdbcTemplate而重新创建应用程序上下文? BasicDataSource的默认最大限制为8,所以你必须重新创建一些东西... - M. Deinum 3小时前
感谢Deinum。我的坏..我多次创建应用程序上下文。我已经更改了代码以仅初始化上下文一次,现在它正常工作。非常感谢你的建议.. - Raj 3小时前
为什么你甚至手动创建它?其中一个Spring初始化方法应该这样做,你应该使用依赖注入。 - M. Deinum 3小时前
我的程序是基于控制台的,因此需要手动创建上下文。我在静态字段中保持上下文。问题是由于多次调用方法导致多次上下文创建,正如您所指出的那样。对于数据源和其他bean我正在使用spring dependency injection .. - Raj 3小时前