默认 HikariCP 连接池启动 Spring 引导应用程序



我在我的pom.xml依赖项中使用版本:2.1.6.RELEASE形式的Spring Boot。 为了连接到我的数据库,我在 application.properties 中放置了以下内容:

spring.datasource.url= jdbc:postgresql://
spring.datasource.username=
spring.datasource.password=

当检查 postgresql 中的连接数量时:

SELECT * FROM pg_stat_activity;

每次启动应用程序时,我都会看到正好建立了 10 个连接。它们几乎都有相同的查询:

SET application_name = 'PostgreSQL JDBC Driver'

有没有办法防止应用建立那么多连接? 我应该进行自己的池配置吗? 我的 Java 应用程序中的哪些资源初始化这些连接?

我唯一能想到的是,我使用@Autowired注释创建了实体管理器,实体管理器来自:

javax.persistence.EntityManager;

但我读到你应该只关闭使用实体管理器工厂时建立的连接。批注应关闭连接。

如果您需要更多信息,我可以编辑我的帖子

HikariCP 默认打开 10 个空闲连接,

默认值:10

您可以覆盖不太推荐的 minimumIdle

HikariCP将尽最大努力快速有效地添加其他连接。但是,为了获得最佳性能和对峰值需求的响应能力,我们建议不要设置此值,而是允许 HikariCP 充当固定大小的连接池。默认值:与最大池大小相同

或最大池大小,但它会影响连接池的最大大小

此属性控制允许池达到的最大大小,包括空闲连接和使用中的连接。

这不是连接泄漏,而是所需的行为。Spring Boot Data 使用 HikariCP 作为连接池。

可以将最大池大小配置为属性。例如:

spring.datasource.hikari.maximum-pool-size=5

默认情况下,HikariCP 最多有 10 个连接。

您可以按如下方式配置最大池大小:

spring.datasource.hikari.maximum-pool-size=5

要启用跟踪日志,请执行以下操作:

logging.level.com.zaxxer.hikari.HikariConfig=DEBUG
logging.level.com.zaxxer.hikari=TRACE

相关内容

  • 没有找到相关文章

最新更新