Spring boot + hikari - dataSource or dataSourceClassName or jdbcUrl is required issue
Change jdbc-url
to jdbcUrl
so Hikari can find suitable driver per url.
jdbcUrl This property directs HikariCP to use "DriverManager-based" configuration. We feel that DataSource-based configuration (above) is superior for a variety of reasons (see below), but for many deployments there is little significant difference. When using this property with "old" drivers, you may also need to set the driverClassName property, but try it first without. Note that if this property is used, you may still use DataSource properties to configure your driver and is in fact recommended over driver parameters specified in the URL itself. Default: none
user2761431
Updated on June 13, 2022Comments
-
user2761431 almost 2 years
I get the following error trying to start my Spring application
ERROR 5908 --- [ main] com.zaxxer.hikari.HikariConfig : HikariPool-1 - dataSource or dataSourceClassName or jdbcUrl is required.
My
application.properties
file looks like this:spring.datasource.one.jdbc-url = jdbc:postgresql://10.x.x.x:y/sampledb1 spring.datasource.one.username = someuser spring.datasource.one.password = somepasswd spring.datasource.one.driver-class-name = org.postgresql.Driver spring.datasource.two.jdbc-url = jdbc:postgresql://10.x.x.x:z/sampledb2 spring.datasource.two.username = someuser spring.datasource.two.password = somepassword spring.datasource.two.driver-class-name = org.postgresql.Driver
And I am using DataSourceBuilder class as below:
@Configuration public class DataSourceConfig { @Bean(name = "one") @Primary @ConfigurationProperties(prefix = "spring.datasource.one") public DataSource dataSource1() { return DataSourceBuilder.create().build(); } @Bean(name = "two") @ConfigurationProperties(prefix = "spring.datasource.two") public DataSource dataSource2() { return DataSourceBuilder.create().build(); } }
My pom looks like this.
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> <relativePath /> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <avro.version>1.8.2</avro.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <version.powermock>1.6.2</version.powermock> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>log4j-over-slf4j</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- actuator --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- eureka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!-- hystrix --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> </dependencies>
This was working fine earlier, but now causing some issues. And the error occurs
intermittently
, sometime it starts without error, other times it fails with the error.I tried solutions suggested in the link .They don't seem to work for me.