【发布时间】:2013-12-22 20:59:38
【问题描述】:
此问题与Resque Mysql2::Error: User has exceeded the 'max_user_connections' resource (current value: 10)有关
我在尝试将表插入 MySql 数据库时收到错误消息“(用户已超出 'max_user_connections' 资源(当前值:10))”。
我正在使用此代码连接到数据库:
@Configuration
public class MainConfig {
@Bean
public BasicDataSource dataSource() throws URISyntaxException {
URI dbUri = new URI(System.getenv("DATABASE_URL"));
String username = dbUri.getUserInfo().split(":")[0];
String password = dbUri.getUserInfo().split(":")[1];
String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ':' + dbUri.getPort() + dbUri.getPath();
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setUrl(dbUrl);
basicDataSource.setUsername(username);
basicDataSource.setPassword(password);
return basicDataSource;
}
}
基于:
要解决此问题,我可以重复使用此连接吗?
我已尝试更新上面的代码以重新使用相同的 BasicDataSource,但我收到错误。
当我检查客户端连接时,我看到的是:
客户端连接的数量随着时间的推移而减少,似乎在指定的时间跨度内可以建立的最大连接数?
【问题讨论】:
-
你试过关闭连接吗?
-
@Dodd10x 是的,我每次都尝试关闭连接但同样的错误
-
如果你没有使用连接池,那么它可能只是连接没有被正确释放。您可能希望包含显示您如何创建和释放每个连接的代码。