我在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参考文档。但它没有提及任何有关连接的信息。
使用数据库连接池时,对的调用sqlconnection.close()不一定会关闭与数据库的重量级连接,相反,大多数情况下,它们只是将连接释放为可在池中重用。因此,建议close()在利用客户端连接池时尽快调用on连接。
sqlconnection.close()
close()
在您的配置,池将包含500个连接的最大数目(这将是也是很好的配置maxIdle,minIdle以及minEvictableIdleTimeMillis调整准备使用的连接的数量和频率释放他们不使用时)。
maxIdle
minIdle
minEvictableIdleTimeMillis
一些更多的文档在这里