Spring Boot Hikari 配置

DDo*_*nko 2 java spring spring-boot hikaricp

我正在为 Spring Boot 应用程序配置 HikariCP,数据库是 Postgresql。

文件说:“我们使用推荐的dataSourceClassName替代jdbcUrl,但无论哪种是可以接受的。”

但是,下一行说:“注意:Spring Boot自动配置用户,需要使用jdbcUrl-based配置。”

如果我们使用jdbcUrl-based 配置并指定dataSourceClassNamethenjdbcUrl将被忽略,如果我们不指定数据源 - HikariDataSource将被创建。所以他们推荐HikariDataSource用于 Spring Boot 应用程序。

如果我们使用dataSourceClassName- 它将使用给定的属性创建(在我的情况下是PGSimpleDataSource使用它的祖先BaseDataSource)。

这两种配置都适合我。

所以,我的问题是:

  1. HikariDataSourcePGSimpleDataSource(或任何其他推荐的)之间有什么区别?
  2. 为什么建议在 Spring Boot 中使用jdbcUrl基于配置(因此HikariDataSource)?

Dar*_*idl 5

  1. HikariCP是一个连接池,而且是一个非常好的连接池。我们一直在生产中的几个项目中使用它,它速度快且有效。

  2. 如果您想使用 HikariCP,请使用HikariDataSource. Spring Boot 已经开始默认使用它并推荐它(出于同样的原因:它既快速又可靠)。

如果您只是使用带有 的默认配置spring.datasource.url,它将使用 HikariCP 并且应该开箱即用。

但是,当您手动配置数据源时,Spring Boot 2 和 HikariCP 存在一个小问题。HikariCP 需要jdbcUrlor dataSourceClassName,但 Spring Boot 配置属性使用url. 请参阅文档此问题