gpt4 book ai didi

java - Spring Boot Rest + ClearDB mySQL "exceeded ' max_user_connections'“错误

转载 作者:行者123 更新时间:2023-12-01 17:00:03 25 4
gpt4 key购买 nike

我每隔一段时间就会随机收到此错误:“java.sql.SQLSyntaxErrorException:用户'{key}'已超出'max_user_connections'资源(当前值:10)”。

我已经尝试过谷歌搜索帮助,但我能找到的是:

  1. “增加最大连接数限制”(在免费的clearDB中无法做到这一点)
  2. “调整 maxActive 数量”或“释放旧连接”(这两个我都找不到如何在 Spring Boot 中执行此操作)

这是我的代码:

// application.properties
# Connect to heroku ClearDB MySql database
spring.datasource.url=jdbc:mysql://{heroku_url}?reconnect=true
spring.datasource.username={user}
spring.datasource.password={password}

# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto=update

#MySQL DIALECT
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.open-in-view=false
server.port=8080
@Configuration
public class DatabaseConfig {
@Value("${spring.datasource.url}")
private String dbUrl;

@Bean
public DataSource dataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(dbUrl);

return new HikariDataSource(config);
}
}

编辑 1:我尽可能地遵循 PauMAVA 的指示,并想出了这段代码,但由于某种原因失败了:

@Configuration
public class DatabaseConfig {
@Value("${spring.datasource.url}")
private String dbUrl;

public static DataSource ds;

@Bean
public DataSource dataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(dbUrl);

DataSource ds = new HikariDataSource(config);
DatabaseConfig.ds = ds;

return ds;
}
}
// Main class
public static void main(String[] args) {
SpringApplication.run(BloggerApplication.class, args);

Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
DataSource ds = DatabaseConfig.ds;
if (ds != null) {
try {
ds.getConnection().close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}, "Shutdown-thread"));
}

最佳答案

每当您在代码中创建连接对象时,建议在finally block 中关闭该连接对象。这样连接数就不会耗尽。

希望这有帮助!

关于java - Spring Boot Rest + ClearDB mySQL "exceeded ' max_user_connections'“错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61522688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com