spring启动和默认连接池

vmjh9lq9  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(359)

我正在使用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. ]

你能给我一些关于这个的信息吗?
我是否需要手动配置(同时添加依赖项)连接池?

dldeef67

dldeef671#

hikari是spring boot 2的默认数据源实现。这意味着我们不需要在pom.xml中添加显式依赖项。默认情况下,spring boot starter jdbc和spring boot starter数据jpa会解析它。总之,SpringBoot2不需要其他步骤。
文档链接:连接池的spring文档
尽管您修改了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.
ddarikpa

ddarikpa2#

根据spring引导文档:
支持的连接池:-
spring boot使用以下算法来选择特定的实现:
我们更喜欢hikaricp,因为它的性能和并发性。如果hikaricp可用,我们总是选择它。
否则,如果tomcat池数据源可用,我们将使用它。
否则,如果commons dbcp2可用,我们将使用它。
如果hikaricp、tomcat和dbcp2都不可用,并且如果oracle ucp可用,我们将使用它。
如果使用spring boot starter jdbc或spring boot starter数据jpa“starters”,则会自动获得对hikaricp的依赖关系。
spring文档
查看hikaricp:https://github.com/brettwooldridge/hikaricp

相关问题