Spring 使用默认连接池启动
Spring Boot with default connection-pool
我正在使用 SpringBoot (v2.3.0.RELEASE)、JPA 和 Hibernate(带有 MySQL 数据库)。
总的来说,我需要尝试改进性能。
我不太清楚默认配置中是否已经存在数据库连接池。
我没有在我的 pom 中添加任何关于连接池的特定依赖项,但是当我尝试 运行 我的服务时,我读到:
2021-07-01 13:53:04.065 INFO HikariDataSource-getConnection():110 - [ HikariPool-1 - Starting... ]
2021-07-01 13:53:04.499 INFO HikariDataSource-getConnection():123 - [ HikariPool-1 - Start completed. ]
你能给我一些相关信息吗?
是否需要手动配置(同时添加依赖)连接池?
Hikari 是 Spring Boot 2 的默认 DataSource 实现。这意味着我们不需要在 pom.xml 中添加显式依赖。 spring-boot-starter-jdbc 和 spring-boot-starter-data-jpa 默认解析它。总而言之,您不需要 Spring Boot 2 的其他步骤。
Link 文档:Spring Documentation for Connection pools
虽然你修改了HikariCP的默认属性
spring.datasource.hikari.connection-timeout = 20000 #maximum number of milliseconds that a client will wait for a connection
spring.datasource.hikari.minimum-idle= 10 #minimum number of idle connections maintained by HikariCP in a connection pool
spring.datasource.hikari.maximum-pool-size= 10 #maximum pool size
spring.datasource.hikari.idle-timeout=10000 #maximum idle time for connection
spring.datasource.hikari.max-lifetime= 1000 # maximum lifetime in milliseconds of a connection in the pool after it is closed.
spring.datasource.hikari.auto-commit =true #default auto-commit behavior.
根据 Spring 引导文档:
支持的连接池:-
Spring Boot 使用以下算法来选择特定的实现:
- 我们更喜欢 HikariCP,因为它的性能和并发性。如果 HikariCP 可用,我们总是选择它。
- 否则,如果 Tomcat 池数据源可用,我们将使用它。
- 否则,如果 Commons DBCP2 可用,我们将使用它。
- 如果HikariCP的none、Tomcat和DBCP2可用,如果Oracle UCP可用,我们就使用它。
如果你使用 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa “starters”,你会自动得到对 HikariCP 的依赖。
查看 HikariCP:https://github.com/brettwooldridge/HikariCP
我正在使用 SpringBoot (v2.3.0.RELEASE)、JPA 和 Hibernate(带有 MySQL 数据库)。 总的来说,我需要尝试改进性能。
我不太清楚默认配置中是否已经存在数据库连接池。
我没有在我的 pom 中添加任何关于连接池的特定依赖项,但是当我尝试 运行 我的服务时,我读到:
2021-07-01 13:53:04.065 INFO HikariDataSource-getConnection():110 - [ HikariPool-1 - Starting... ]
2021-07-01 13:53:04.499 INFO HikariDataSource-getConnection():123 - [ HikariPool-1 - Start completed. ]
你能给我一些相关信息吗?
是否需要手动配置(同时添加依赖)连接池?
Hikari 是 Spring Boot 2 的默认 DataSource 实现。这意味着我们不需要在 pom.xml 中添加显式依赖。 spring-boot-starter-jdbc 和 spring-boot-starter-data-jpa 默认解析它。总而言之,您不需要 Spring Boot 2 的其他步骤。
Link 文档:Spring Documentation for Connection pools
虽然你修改了HikariCP的默认属性
spring.datasource.hikari.connection-timeout = 20000 #maximum number of milliseconds that a client will wait for a connection
spring.datasource.hikari.minimum-idle= 10 #minimum number of idle connections maintained by HikariCP in a connection pool
spring.datasource.hikari.maximum-pool-size= 10 #maximum pool size
spring.datasource.hikari.idle-timeout=10000 #maximum idle time for connection
spring.datasource.hikari.max-lifetime= 1000 # maximum lifetime in milliseconds of a connection in the pool after it is closed.
spring.datasource.hikari.auto-commit =true #default auto-commit behavior.
根据 Spring 引导文档:
支持的连接池:-
Spring Boot 使用以下算法来选择特定的实现:
- 我们更喜欢 HikariCP,因为它的性能和并发性。如果 HikariCP 可用,我们总是选择它。
- 否则,如果 Tomcat 池数据源可用,我们将使用它。
- 否则,如果 Commons DBCP2 可用,我们将使用它。
- 如果HikariCP的none、Tomcat和DBCP2可用,如果Oracle UCP可用,我们就使用它。
如果你使用 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa “starters”,你会自动得到对 HikariCP 的依赖。
查看 HikariCP:https://github.com/brettwooldridge/HikariCP