【发布时间】:2023-03-11 11:29:02
【问题描述】:
我有一个 Rest 服务,当它得到它时,它必须对近 25 个数据库进行一些插入和更新。因此,当我尝试使用下面的代码时,它在我的本地主机中工作,但是当我部署到我的登台服务器时,我得到 FATAL: too many connections for role "user123"
List<String> databaseUrls = null;
databaseUrls.forEach( databaseUrl -> {
DataSource dataSource = DataSourceBuilder.create()
.driverClassName("org.postgresql.Driver")
.url(databaseUrl)
.username("user123")
.password("some-password")
.build();
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.update("Some...Update...Query");
});
据我了解,DataSource 不需要关闭,因为它永远不会打开。
注意:
DataSource 实现不需要关闭,因为它永远不会关闭 “打开”。 DataSource 不是资源,未连接到 数据库,因此它没有保持网络连接或资源 数据库服务器。 DataSource 只是在以下情况下需要的信息 建立与数据库的连接,使用数据库服务器的 网络名称或地址、用户名、用户密码和各种 您希望在最终建立连接时指定的选项。
谁能告诉我为什么会遇到这个问题
【问题讨论】:
标签: spring-boot java-8 datasource jdbctemplate