Hikari выдает ошибку. URL-адрес свойства не существует в целевом классе org.postgresql.ds.PGPoolingDataSource - PullRequest
0 голосов
/ 28 августа 2018

Я сталкиваюсь с этой ошибкой из кластера kubernetes. Хотя он отлично работает с моего локального сервера. Вот мое application.yml из SpringBoot App

весна:

datasource:
    dataSourceClassName: org.postgresql.ds.PGPoolingDataSource
    url: jdbc:postgresql://${POSTGRES_HOST}:5432/test_db
    databaseName: test_db
    poolName: SpringBootHikariCP
    username: ${POSTGRES_USER}
    password: ${POSTGRES_PASSWORD}
    testWhileIdle: true
    validationQuery: SELECT 1
jpa:
    database-platform: org.hibernate.dialect.PostgreSQL82Dialect
    openInView: false
    show_sql: true
    generate-ddl: true
    hibernate:
        ddl-auto: update
        naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
        use-new-id-generator-mappings: true
    properties:
        hibernate.cache.use_second_levelt_cache: false
        hibernate.cache.use_query_cache: false
        hibernate.generate_statistics: true
        hibernate.hbm2ddl.auto: validate

Вот моя конфигурация Hikari.

            HikariConfig config = new HikariConfig();
            config.setDataSourceClassName(dataSourceClassName);
            config.addDataSourceProperty("url", url);
            config.addDataSourceProperty("user", user);
            config.addDataSourceProperty("password", password);

            return new HikariDataSource(config);

Я проверил подключение к БД kubernetes без Hikari, и оно работает отлично. Так что нет проблем с подключением. Пожалуйста, помогите мне в этом вопросе. Я застрял с этим на пару дней. Спасибо

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Измените url на jdbc:postgresql://localhost:5432/test_db или

jdbc:postgresql://<host ip>:5432/test_db

Похоже, проблема с заполнителем ${POSTGRES_HOST}

Попробуйте с localhost

datasource:
    dataSourceClassName: org.postgresql.ds.PGPoolingDataSource
    url: jdbc:postgresql://localhost:5432/test_db;
    databaseName: test_db
    poolName: SpringBootHikariCP
    username: ${POSTGRES_USER}
    password: ${POSTGRES_PASSWORD}
    testWhileIdle: true
    validationQuery: SELECT 1

Возможно, вы не установили переменную окружения $ {POSTGRES_HOST}, что также может быть причиной.

0 голосов
/ 28 августа 2018

${POSTGRES_HOST} ожидает системную переменную среды , которую вы, вероятно, пропустили на конкретном компьютере, добавьте ее, например:

export POSTGRES_HOST="1.1.1.1"
...