I'm configuring HikariCP for Spring Boot application, the database is Postgresql.
The documentation says:
"We recommended using dataSourceClassName
instead of jdbcUrl
, but either is acceptable."
However, the next line says:
"Note: Spring Boot auto-configuration users, you need to use jdbcUrl
-based configuration."
If we use jdbcUrl
-based configuration and specify dataSourceClassName
then jdbcUrl
will be ignored, if we don't specify data source - HikariDataSource
will be created. So they recommend using HikariDataSource
for Spring Boot apps.
If we use dataSourceClassName
- it will be created with given properties (in my case it is PGSimpleDataSource
with its ancestor BaseDataSource
).
Both these configurations work for me.
So, my questions are:
- What is the difference between
HikariDataSource
andPGSimpleDataSource
(or any other recommended)? - Why it is recommended to use
jdbcUrl
-based configuration (and thusHikariDataSource
) in Spring Boot?