一尘不染

如何在Spring JPA中管理数据库连接池?

hibernate

我在Web应用程序中使用spring-boot,并使用spring-
jpa从数据库中读取/写入数据库。它工作得很好,但是我想了解如何管理数据库连接。以下是我的数据库属性配置:

spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8
spring.datasource.username=user
spring.datasource.password=pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-active=500

我已将最大连接数设置为500。当用户在我的spring应用程序上发出请求时,将为他打开数据库连接。完成请求后,spring
jpa会关闭此连接吗?如果没有,它将何时关闭未使用的连接?

我已经阅读了http://docs.spring.io/spring-
data/jpa/docs/current/reference/html/中的spring jpa参考文档。但它没有提及任何有关连接的信息。


阅读 1117

收藏
2020-06-20

共1个答案

一尘不染

使用数据库连接池时,对的调用sqlconnection.close()不一定会关闭与数据库的重量级连接,相反,大多数情况下,它们只是将连接释放为可在池中重用。因此,建议close()在利用客户端连接池时尽快调用on连接。

在您的配置,池将包含500个连接的最大数目(这将是也是很好的配置maxIdleminIdle以及minEvictableIdleTimeMillis调整准备使用的连接的数量和频率释放他们不使用时)。

一些更多的文档在这里

2020-06-20