Невозможно использовать HikariCP в Spring Boot 1.5.18 с несколькими источниками данных - PullRequest
0 голосов
/ 10 января 2019

Мы используем несколько источников данных в нашем приложении весенней загрузки. оба источника данных принадлежат только MySQL.

Настроил несколько источников данных, используя:

https://medium.com/@joeclever/using-multiple-datasources-with-spring-boot-and-spring-data-6430b00c02e7

pom.xml изменений:

<!-- exclude tomcat jdbc connection pool, use HikariCP -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- exclude tomcat-jdbc, Spring Boot will use HikariCP automatically -->
<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
</dependency>

.properties ****:

spring.db1.datasource.jdbcUrl=jdbc:mysql://localhost:3306/db1?zeroDateTimeBehavior=convertToNull
spring.db1.datasource.driverClassName=com.mysql.jdbc.Driver
spring.db1.datasource.username=root
spring.db1.datasource.password=

spring.db2.datasource.jdbcUrl=jdbc:mysql://localhost:3306/db2?zeroDateTimeBehavior=convertToNull
spring.db2.datasource.driverClassName=com.mysql.jdbc.Driver
spring.db2.datasource.username=root
spring.db2.datasource.password=

Конфигурация источника данных:

@Bean
@ConfigurationProperties(prefix = "spring.db1.datasource")
public DataSource db1DataSource() {
    return DataSourceBuilder.create().build();
}


@Bean
@ConfigurationProperties(prefix = "spring.db2.datasource")
public DataSource db2Source() {
    return DataSourceBuilder.create().build();
}

Но когда я его запустил, я получил следующее исключение:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.JpaVendorAdapter]: Factory method 'jpaVendorAdapter' threw exception; nested exception is java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.

Как решить эту проблему?

1 Ответ

0 голосов
/ 11 января 2019

В вашем поме отсутствуют зависимости от драйверов

Вам необходимо добавить следующие строки в ваш файл pom.xml, чтобы включить драйвер базы данных.

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...